开始新项目并在合适的平台上寻求建议。目前的想法是在Hazelcast或AppScale之间,因为我们团队的综合(但有限)经验涵盖了旧版Hazelcast和GAE。两者显然也可以在EC2上设置,这可能是满足我们期望的CPU需求的最简单方法。
问题资料
1)。我们的数据包含许多按日期存储的小记录(但不总是时间)。一些是小的数字记录(业务统计,看起来像每日天气信息或股票市场价格),一些是庞大的文本(日志文件条目)。数据量不是很大,每天数百/天,每天数百/千克。
2)。非常大量的计算成本昂贵的数值模型(想想monte-carlo sims)在相同数据的固定大小窗口上不断运行。
3)。许多监控代理都可以提供数据。
4)。每天一次离线处理的相同数据的较大(较长时间段)集合。
使用Hazelcast,我们会将传入的数据添加到地图中,并使用Executor服务在共享数据上运行模型。可能会使用Tomcat根据需要提供对网格的最小前端访问。
使用AppScale,我们将为每个数据类型添加表格,并使用任务队列API来构建数值模型。根据GAE部署到AppScale的Servlet提供前端。
问题
我们应该使用AppScale或Hazelcast来满足这样的要求吗?那就是 - 对于上述问题,我们应该考虑对这两个平台有什么突出的因素吗?
答案 0 :(得分:2)
如果您更喜欢/需要分布式,面向服务的编程模型(任务包),那么答案就是AppScale。如果您更喜欢/需要并行编程模型(单机抽象),那么答案就是Hazelcast。 AppScale也是一个完整的云平台(仅限数据存储),使您可以随着应用程序的发展做更多的事情。如果您使用AppScale,则可以调整任务的时序限制,并使用您要使用的库自定义平台,以获得计算成本高昂的方法。