有效处理灾难恢复(DR)情况所需的副本集成员数应该是多少。目前我们使用3节点副本集(1个主节点,1个副节点在同一个区域,1个副节点在DR区域)。 /> 我们计划在其中添加2个仲裁器,以提高其容错能力 使用多个仲裁实例是一种好习惯吗? 在DR区域中创建仲裁实例会更好吗?
答案 0 :(得分:1)
正如JJussi指出的那样,添加多个仲裁器根本无济于事,但添加更多节点(数据承载和/或仲裁器)以实现最大弹性和可用性可能会很有用。
您目前的安排是这样的:
如果区域1中的数据中心发生故障,则DR区域中的节点将无法升级为主节点,因为它无法控制多数:
即使您添加了另一个数据承载节点和仲裁器,如果它们位于相同的两个区域,您也会遇到同样的问题。
相反,我建议您配置的是区域1中现有的两个节点,向DR区域添加第四个数据承载节点,但也要添加仲裁器,但要确保仲裁器再次位于不同的区域:
这样,即使数据中心在区域1或DR区域中发生故障,其他区域中的节点也能够 - 在仲裁器的帮助下 - 命令多数,并继续工作:
答案 1 :(得分:0)
仲裁程序不会增加容错能力,因为它们不保存数据。您无需在当前设置中添加仲裁器,因为您已经有了奇怪的投票数。您当前的节点数(三)对于DR来说是完美的,特别是如果所有三个节点都在不同的数据中心,甚至其中两个节点位于相同的地理区域。
当然,您总是可以将一个节点(然后您需要仲裁者)添加到其他某个区域,但通常三个独立的节点是完美的DR情况。如果您当前的所有节点都在美国,那么您可以拥有位于欧洲的“一半”(足够大多数)节点......