主服务器和辅助服务器如何在MongoDB中运行?

时间:2018-03-05 21:44:24

标签: mongodb

所以我有8台服务器。让我们把它命名为:

P1,S2,S3,S4,S5,S6,S7和S8。

P1是主服务器,其余是辅助服务器。

场景#1:

P1丢失互联网连接并关闭。根据我的理解,其中一个辅助服务器将接管。

如果P1重新上线会怎样?一旦上线,它会再次成为主流吗? P1在离线时所做的任何更改会发生什么?

场景#2:

S4失去互联网连接并停机。

当S4下线时,它会成为主要的吗?它能够对自己的数据库进行更改吗?一旦它重新上线并与主数据库同步,将决定哪些更改优先于另一个?它被改变的时间?

1 个答案:

答案 0 :(得分:2)

  

如果P1重新上线会怎样?一旦上线,它会再次成为主流吗? P1在离线时所做的任何更改会发生什么?

没有。 P1将在中学状态恢复在线状态。如果要进行另一个副本集选举,P1只能再次成为主节点。有关详细信息,请参阅replication

当P1未处于主状态时,不应对其进行任何更改。如果出现双主要方案,则对P1发出的任何写入都将为rolled back,一旦发现它不再是主要,并开始协调过程以完全同步。

  

当S4下线时,它会成为主要的吗?它能够对自己的数据库进行更改吗?一旦它重新上线并与主数据库同步,将决定哪些更改优先于另一个?它被改变的时间?

S4不会成为自己的主要人物。服务器作为副本集的成员运行,并且知道它无法与大多数副本集通信,从而使其无法处于主状态。

解析网络分区后,S4将查询主节点并将其最新的oplog条目与主节点上的oplog进行比较。写入将按照它们在主要的oplog中记录的顺序应用。

相关问题