我目前正在调查存在哪些 Java 兼容解决方案来满足我的要求,如下所示:
- 基于定时器/可调度任务到批处理
- 分布式,并由此提供水平扩展的能力
- 弹性,请不要使用 SPF
这些任务的性质(大量的 XML 生成,以及交付到基于 Web 的接收节点)意味着使用 Quartz 之类的东西在单个服务器上运行它们是不可行的。
我听说过诸如 Hadoop 和 JavaSpaces 之类的技术,它们有效地解决了问题的扩展性和弹性问题。不知道这些是否非常适合我的要求,很难知道其他技术可能适合什么。
我真的想知道这个领域的人觉得有哪些选择,以及每个人如何发挥自己的优势,或者比其他人更适合某些问题。
NB:值得注意的是,调度能力可能是我们目前做事方式的后遗症。是的,有些任务应该在特定时间完成。它还被用来在没有规定时间的情况下限制吞吐量。