让我们想象一下这种情况。我的akka集群中有三个节点(节点A,B,C)。每个节点都部署到网络内的不同物理设备。
所有这些节点都包含在Topshelf Windows服务中。
节点A是我的种子节点,其他节点只是指定端口的“工作”节点。
当我运行集群并停止节点(服务)B或C然后重新启动它们。节点重新加入,没有任何问题。
我想问一下是否有可能处理其他情况。当我停止种子节点(节点A),其他节点 - 服务仍在运行然后我重新启动节点服务A - 我想让节点B,C重新加入集群并使整个生态系统再次运行。
这种情况是否可以实施?如果是,那我该怎么做?
答案 0 :(得分:1)
在Akka.NET集群中,任何节点都可以作为其他节点的种子节点,只要它是集群的一部分即可。 “种子”只是一种配置,因此您可以定义一个众所周知的节点地址列表,这些地址是集群的一部分。
关于你的案例,我可以想到几个解决方案: