2010-07-22 125 views
3

我正在寻找一个现有的系统来替代现有的缓慢而复杂的自我写作机制的作业管理。 现有的系统:Java的持久延迟作业队列

  • 1 MySQL数据库与作业的长期大规模的表 - 队列
  • 多台服务器从队列(用Java编写的)所有提取的工作并处理它们
  • 工作可能不处理后,它从队列中删除,重新运行它以后
  • 工作可能会造成其他工作,并将其插入到队列

局限性:

  • 随着越来越多的作业被创建并插入到队列中,从其中提取作业需要更长的时间。 (作业是按优先级和类型选择) - 创建一个瓶颈

我正在寻找一个现有的系统,可以取代这一个,并提高它的性能。 有什么建议吗?

感谢

回答

2

我一般不推荐JMS,但听起来好像它真的是你需要在这里。分布式事务性持久性作业队列管理是JMS的全部内容。

流行的开源实现包括HornetQActiveMQ

+2

这是一个令人毛骨悚然的独角兽:) – willcodejavaforfood 2010-07-22 08:50:35

2

您可以:

这正是我们所做的,使用EC2 Spot instances来降低成本。这就是我称之为严重的云计算;)

+1

你怎么知道他使用EC2? – 2011-11-16 15:01:01