我有一个低 CPU 队列处理任务,我需要保持运行很长一段时间。如果任务失败,我希望任务在高可用性集群环境中运行,如果第一台机器出现故障,任务应该“切换”到另一台机器。确保我一次在集群中的一台机器上运行任务的最佳方法是什么,并且在机器故障时实现无缝故障转移?
现在,我打算使用JGroups来实现这个功能。我会为每个任务保留一个频道,只有频道负责人会执行任务,其他成员“跟随”。然后,如果频道领导者发生变化,新的频道领导者会从上一个离开的地方继续。
有没有人使用 JGroups 来解决这个问题?你的经历是什么?