我想我已经有答案了,但我是一名开发人员,所以我想先在这里检查一下。
有些 AWS 区域有 2 个以上区域,但有些只有 2 个。例如悉尼。
现在,如果我仅在 2 个可用区域部署 mongodb 副本集集群,我感觉集群不可能自动进行故障转移。
原因是如果两个区域之一离线并带走了大多数节点,另一个区域中的其余节点将不会选出新的主节点?这将由某人手动进入其中一个节点并将其提升为主节点。
或者我遗漏了什么。
答案1
这基本上是正确的 - 更明确地说:您将能够为一个区域进行自动故障转移,但不能为另一个区域进行自动故障转移。换句话说,如果节点较少的区域发生故障,则节点较多的区域可以自动成功接管。如果节点较多的区域发生故障,则另一个区域中的剩余节点将无法形成多数并在没有人工干预的情况下选出主节点。
请注意,无论您在 2 个区域、数据中心或任何故障单元中部署多少个节点,情况都是如此,这只是在该场景中形成严格多数的一个基本问题。