使用分布在 3 个数据中心的 mongo
对于此示例,数据中心名称为 A、B、C
当一切顺利时,所有用户流量都指向 A
所以mongo主要在A上,mongo设置是:
- A 中的 3 台服务器(具有高优先级)
- B 中的 1 台服务器(低优先级)
- C 中的 1 个服务器(优先级 0 )
当发生 2 种情况时,问题是支持 mongo-writes:
- ABC 之间没有网络(网络隧道已关闭)
- 数据中心 A 着火了 :),假设数据中心不工作,此时所有用户流量都指向 B,并且预计 B 中的主要选举。
方案 1 不是问题,当没有数据中心网络隧道时,A 仍然有大部分副本和高优先级,所以一切都还在工作。
场景 2 将不起作用,因为当 A 停止工作时,所有 3 个副本(在 A 上)都无法访问,这样在 B 或 C 中将不会重新生成新的主副本,因为大多数副本都已关闭。
如何设置我的副本集以支持 2 个场景?