java - JVM 的分布式故障安全作业队列

标签 java cluster-computing akka failover job-queue

我需要为分布式 JVM 应用程序实现一个作业队列。

队列必须保存一组必须按顺序执行的作业(即 Java 可运行程序)。集群上将有数百个应自动并行化的“作业组”或队列。作业队列必须是故障安全的,以便在机器崩溃时,整个应用程序将继续运行。

而且我不想重新发明 Weel,所以如果已经有一个库或框架可以满足我的要求,我将不胜感激。

问题:我应该使用什么技术?是akka合适,还有其​​他可以推荐的库吗?

最佳答案

过去,jGroups 或 ZooKeeper 是标准方法。不过,我发现 Akka 更灵活,可以承担您更多的跑腿工作。

ZooKeeper 相对于 Akka 的功能之一是状态复制,即当某个作业未进入队列或执行该作业时进程崩溃时,Akka 不会自动恢复它。然而,这为您提供了巨大的吞吐量,并且还消除了对完美世界的任何幻想 - 我们知道我们并不生活在其中。因此您必须尽早考虑现实世界的燃烧场景。

关于java - JVM 的分布式故障安全作业队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14441662/

相关文章:

java - 使用Intstream生成无限斐波那契数列

python - Hadoop 和 Python : View Error

scala - 使用 Akka Streams 管理共享状态的惯用方法

java - Playframework 2.5.0 : Unable to serve server-side generated zip file

java - String name1 = "some name"或 String name1 = new String ("some name"哪个更好?

java - android中动态内容的多语言支持?

matlab - 白色像素簇提取

hadoop - 在 YARN 上运行 Spark-Submit 但不平衡(只有 1 个节点在工作)

java - Mockito 与 akka Actor

scala - 如何禁用 Actor 恢复?