作为集群种子节点序列

Akka cluster seed nodes sequence

所有节点是否应该具有相同的簇节点序列,特别是种子列表中的第一个节点?

例如

Node-1: Seed nodes

        {Node-1, Node-2}

Node-2: Seed nodes

        {Node-2, Node-1}

两个节点的节点顺序不同。根据我的测试节点不加入集群,这将不起作用。谁能说说这是什么原因?

第一个种子节点是特殊的,如集群文档中所述: http://doc.akka.io/docs/akka/snapshot/java/cluster-usage.html

它必须是所有节点上的第一个配置节点,以便所有节点真正确定它们加入了同一个集群。

引用:

种子节点可以按任意顺序启动,不需要所有种子节点运行,但必须启动seed-nodes配置列表中配置为第一个元素的节点在最初启动集群时,否则另一个 seed-nodes 将不会初始化,并且没有其他节点可以加入集群。 第一个种子节点之所以特殊,是为了避免空集群启动时形成孤岛。同时启动所有配置的种子节点是最快的(顺序无关紧要) ), 否则它可以占用配置的 seed-node-timeout 直到节点可以加入。

一旦启动了两个以上的种子节点,关闭第一个种子节点是没有问题的。如果第一个种子节点重启,它会首先尝试加入现有集群中的其他种子节点。