Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MongoDB中仅使用2台服务器处理副本集的最佳方法_Mongodb_Fault Tolerance_Replicaset - Fatal编程技术网

在MongoDB中仅使用2台服务器处理副本集的最佳方法

在MongoDB中仅使用2台服务器处理副本集的最佳方法,mongodb,fault-tolerance,replicaset,Mongodb,Fault Tolerance,Replicaset,我将在使用MongoDB的生产环境中使用2服务器解决方案 如果我理解正确,我可以有一个副本集,其中有两个节点,每个服务器一个。 现在为了让容错重新分配一个新的主节点,我需要一个仲裁节点 因为我仍然想使用2台服务器,如果保存仲裁器节点的服务器宕机,就无法设置新的主服务器 我提出的一个解决方案是有3个仲裁节点。一台服务器中有1台,另一台服务器中有2台。这样,如果任何一台服务器宕机,另一台服务器的非仲裁节点将成为主节点 这是正确的吗? 我应该使用另一种解决方案吗 谢谢! Ignacio.你的方法也行不

我将在使用MongoDB的生产环境中使用2服务器解决方案

如果我理解正确,我可以有一个副本集,其中有两个节点,每个服务器一个。 现在为了让容错重新分配一个新的主节点,我需要一个仲裁节点

因为我仍然想使用2台服务器,如果保存仲裁器节点的服务器宕机,就无法设置新的主服务器

我提出的一个解决方案是有3个仲裁节点。一台服务器中有1台,另一台服务器中有2台。这样,如果任何一台服务器宕机,另一台服务器的非仲裁节点将成为主节点

这是正确的吗? 我应该使用另一种解决方案吗

谢谢!
Ignacio.

你的方法也行不通。如果带有2个仲裁器的机器出现故障,另一台机器将只能对其副本投两票。但在这种结构中,要选出一名初选议员需要三票。这并不比只选择其中一台机器来承载一个仲裁器要好

对于偶数个节点,无法保证初选。您必须容忍应用程序中没有主计算机的可能性(进入只读模式),或者添加第三台计算机

只有两台机器,我会考虑把仲裁器放在两台机器最好的位置上(不管怎样,这台机器应该是主控的)。在这个设置中

  • 当辅助设备不可用时,主设备将继续工作
  • 当主节点不可用但仲裁器仍在运行时,次节点将变为主节点
  • 当主仲裁器和仲裁器都不可用时(例如,整个机器不可用),则次仲裁器将保持为次仲裁器,并且将没有主仲裁器
  • 我发现场景3比场景2更常见。为了解释这一点,您可以考虑使用MungOMMS(或其他东西)来监视集群,以便可以尽快研究任何节点的不可用性(特别是场景3)。