【问题标题】:Divide process workflow between remote workers在远程工作人员之间划分流程工作流
【发布时间】:2013-03-16 13:44:19
【问题描述】:

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

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

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

【问题讨论】:

    标签: java quartz-scheduler spring-batch gigaspaces


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2019-04-29
      • 2020-07-24
      • 1970-01-01
      • 2015-05-16
      • 1970-01-01
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多