首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存在什么方法来分发异步批处理任务?

存在什么方法来分发异步批处理任务?
EN

Stack Overflow用户
提问于 2009-12-23 20:34:24
回答 2查看 2.1K关注 0票数 3

我目前正在研究存在哪些与Java兼容的解决方案来满足我的需求,如下所示:

  • 基于定时器的/可调度的批处理任务
  • 分布式,从而提供了水平缩放的能力。
  • 复原力,请不要SPF

这些任务的本质(大量的XML生成,以及向基于web的接收节点的传递)意味着使用Quartz之类的东西在单个服务器上运行它们是不可行的。

我听说过像Hadoop和JavaSpaces这样的技术,它们有效地解决了问题的扩展和恢复能力。不知道这些是否非常适合我的需求,很难知道哪些其他技术可能适合我的需求。

我真的在想,在这个领域里,人们觉得有什么可供选择的,以及每个人如何发挥自己的优势,或者比其他人更适合某些问题。

注:值得注意的是,日程安排能力也许是我们目前做事方式的一个后遗症。是的,有些任务应该在某些时候完成。它还被用于在没有规定时间的情况下控制吞吐量。

EN

回答 2

Stack Overflow用户

发布于 2009-12-23 20:38:37

异步总是让我想起JMS。将请求消息发送到队列;从池中提取一个MessageListener来处理它。

这可以扩展,因为队列和侦听器可以位于远程服务器上。可以配置侦听器线程池的大小。对于不同的任务,您可以有不同的侦听器。

更新:通过集群和负载平衡,您可以避免出现单点故障。

您可以免费使用ActiveMQ (开放源码)、JBOSS (可提供的开源版本)或任何Java应用服务器来获取JMS,因此预算是不需要考虑的。

而且没有锁定,因为除了使用Java之外,您还在使用JMS。

我建议使用Spring消息驱动的POJO。当然,社区版是开源的。

如果这并不适用于您,请查看弹簧批弹簧集成。这两个版本都可能很有用,而且社区版本是开源的。

票数 2
EN

Stack Overflow用户

发布于 2009-12-23 21:10:05

你查过GridGain了吗?我非常肯定它不会解决调度问题,但是您可以扩展它,这就像“魔术”一样发生,要执行的代码被发送到一个节点,并在其中执行。当您没有要发送的数据库连接(或任何不可序列化的内容)时,它可以正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1955169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档