【发布时间】:2020-07-24 08:09:14
【问题描述】:
我们在 docker 中运行 akka 集群并在 Mesos 中运行。该结构使得 3 个不同的应用程序(每个应用程序有 4 个实例)在集群内相互通信
当我们要进行部署时,我们正在使用 Marathon 升级策略功能进行部署。它的配置方式是创建一个具有最新部署的新节点,然后杀死一个旧节点并继续此过程,直到所有节点都启动。我们正在使用以下配置来实现相同的效果(对于 4 个节点)
"upgradeStrategy": {
"minimumHealthCapacity": 1,
"maximumOverCapacity": 0.3
},
我们的主要目标是在部署期间将故障降至最低。然而,其他应用程序中的节点需要一些时间才能知道这个被杀死的节点,并且一些流量会被定向到最终失败的节点。我们调整了集群故障检测器以减少此时间,但我们仍然在部署窗口期间看到了很好的故障百分比
可以做些什么来处理这个问题。有没有办法从 Mesos 捕获信号并从集群中优雅地删除节点
【问题讨论】:
标签: docker akka mesos marathon akka-cluster