让我们考虑一个由三个节点(节点1是主要节点,节点2和3是次要节点)组成的MongoDB副本集,并出现网络分区,因此节点1失去了与2和3的连接(但是2和3相互连接) )。
因此,最后,Node2和Node3将选举一个新的主节点(因为它们在分区中拥有大多数节点)。因此,其中一个(取决于优先级,投票和投票时间)将以PRIMARY结尾,另一个以SECONDARY结尾。
但是,当旧的主要节点(节点1)意识到它不再是主要节点时,它将转换到哪个状态?我不是指节点2或3的状态[[从观点]](我想它将Node1视为DOWN),而是节点1本身的状态。我看过replica set states in MongoDB official documentation,但在那儿没有找到明确的答案。
谢谢!
让我们考虑由三个节点(节点1是主要节点,节点2和3是次要节点)组成的MongoDB副本集,并出现网络分区,因此节点1失去与2和3(但2和...的连接)>
您可以通过对部署进行分区(通过kill -9
进程或在防火墙处丢弃流量),连接到节点1并在其上运行ismaster
进行测试。 ismaster响应字段的含义是here。