两个数据中心之间的连接丢失



目前我正在为这个问题而挣扎。

鉴于我有一个mongoDB实例,被拆分为欧洲两个数据中心(包含主要)和美国的副本。每个数据中心都包含每个所需的组件(Mongod,Mongos,RCR)。甚至后端和前端都分为两个数据中心。

如果欧洲与美国之间的联系被打破了,现在会发生什么?美国的蒙哥实例是否会选出新的初选并继续自行运营?如果是这种情况,如果欧盟和我们之间的连接是固定的,会发生什么?

这在很大程度上取决于您如何设置副本集。如果连接断开,则可以首先达到多数的数据中心将将主要当选。我的意思是,如果您在美国的数据中心只有2位成员,并且有3个成员在欧洲,并且假设只有网络故障,那么系统实际上并不崩溃,那么欧洲数据中心可以达到多数,因为它拥有3个成员在欧洲,因为剩下的两个成员不会有多数。即使我们中的一个人成为主要的人,也会注意到它无法达到多数。以始终具有主要的方式设计副本集的分区总是最好的。

当整个集合回来时,会有很多事情,例如 - 最新数据,优先级,隐藏的成员等立即主要。只有在它同步到最新记录之后,它才会成为主要记录。

希望这有所帮助。

最新更新