我需要开发一个Java平台来从Twitter下载和处理信息。基本思想是让集中控制器生成任务(基本上是id和关键字),并将此任务发送给远程工作人员(每台计算机一个)。我需要定期收到状态报告,以了解任务和工作人员的状态。我将至少有60名工人(不久的将来会增加10倍)。
我最初的想法是使用RMI,但我需要双向沟通,我对RMI感到不舒服。另一种方法是使用SSLSockets发送序列化对象,但我必须控制很多错误并添加大量代码来监视任务和工作人员。有人告诉我使用Spring Batch,Gigaspaces或Quartz这样的框架。
您认为这个项目的最佳选择是什么?到目前为止,我已经阅读了很多关于Gigaspaces的好东西,但是我没有找到关于如何实现它的好教程,Quartz看起来很有希望。你怎么看?值得使用它们吗?
答案 0 :(得分:0)
根据您的问题告诉您去寻找技术并不容易。 GigaSpaces肯定能胜任,但Spring Batch也是如此。 Quartz只是问题的调度部分,而不是工作量的远程处理和分配。
GigaSpaces是一个成熟的应用程序平台,用于处理并行性,高吞吐量和可伸缩性等因素的场景。 Spring Batch绝对可以完成这项工作,但与GigaSpaces不同,它不是一个应用程序平台。所以你仍然需要在某个地方部署你的应用程序。
然而,GigaSpaces是一个商业产品(免费版本可用),但还有其他框架可以帮助您,如Storm Project(http://storm-project.net/)和Hazelcast(www.hazelcast.com)也会浮现在脑海中。 / p>
因此,如果不澄清您的用例,很难给出一个答案。这一切都取决于您现在和未来的确切需求以及您希望如何使用它。