0

我需要开发一个 Java 平台来下载和处理来自 Twitter 的信息。基本思想是有一个集中控制器来生成任务(基本上是 id 和关键字)并将这些任务发送给远程工作人员(每台计算机一个)。我需要定期接收状态报告以了解任务和工作人员的状态。我将有至少 60 名工人(在不久的将来会增加十倍)。

我最初的想法是使用 RMI,但我需要双向沟通,而且我对 RMI 感到不舒服。另一种方法是使用 SSLSockets 发送序列化对象,但我必须控制很多错误并添加大量代码来监控任务和工作人员。有人告诉我使用Spring BatchGigaspacesQuartz之类的框架。

您认为该项目的最佳选择是什么?到目前为止,我已经阅读了很多关于 Gigaspaces 的好东西,但我没有找到关于如何实现它的好教程,而且 Quartz 似乎很有希望。你怎么看?值得使用它们中的任何一个吗?

4

1 回答 1

0

根据您的问题告诉您选择一项技术并不容易。GigaSpaces 当然可以胜任这项工作,但 Spring Batch 也是如此。Quartz 只是您问题的调度部分,而不是远程处理和工作负载的分配。

GigaSpaces 是一个成熟的应用平台,可以处理并行性、高吞吐量和可扩展性是一个因素的场景。Spring Batch 肯定也可以完成这项工作,但与 GigaSpaces 不同的是,它不是一个应用程序平台。所以你仍然需要在某个地方部署你的应用程序。

然而,GigaSpaces 是一种商业产品(提供免费版本),但也有其他框架可以帮助您,例如 Storm Project ( http://storm-project.net/ ) 和 Hazelcast (www.hazelcast.com)。 .

因此,如果不澄清您的用例,就很难给出一个单一的答案。这完全取决于您现在和将来想要什么以及您想如何使用它。

于 2013-08-09T20:04:53.697 回答