Akka流-使用群集单例进行故障转移/零停机时间部署

时间:2019-04-14 20:55:41

标签: scala singleton akka akka-stream distributed-system

我有一个使用akka流构建的流处理应用程序。 输入的是一组kafka主题,应用程序执行有状态的不确定操作并将结果保存到另一个kafka主题。

状态可以从每个输出消息中得出,因此在启动时,应用程序将读取输出主题中的最后一条消息以恢复其状态。

现在,我想实现零停机时间部署。同一时间不得运行一个以上的应用程序实例(由于该过程具有不确定性,并且下一次计算均取决于上一个实例的结果),因此我打算使用akka群集单例功能。

我计划有一个由三个节点组成的集群,一个进行处理的单身领导者,以及一个根据领导者的输出来更新其状态的跟随者,如果被选为下一个领导者,他们将准备接管。

单例切换需要几秒钟,因此此方法不能提供真正的零停机时间部署策略。我可以使用其他方法吗?

0 个答案:

没有答案