MongoDB分片:mongos和配置服务器在一起?

时间:2016-02-23 12:58:18

标签: mongodb sharding

我们想要创建一个MongoDB分片(v.2.4)。官方文档建议有3个配置服务器。

然而,我们公司的政策不允许我们为此目的获得3个额外的服务器。由于我们已经有3个应用服务器(1个Web节点,2个进程节点),我们正在考虑将配置服务器与mongos放在相同的应用服务器中。可用性对我们来说并不重要。

您对此配置有何看法?我们可以面对某些问题,还是因某种原因而气馁?

1 个答案:

答案 0 :(得分:1)

鉴于可用性对您的用例并不重要,我认为将配置服务器放在相同的应用程序服务器和mongos中应该没问题。

如果其中一个进程节点关闭,您将丢失:1 x mongos,1个应用程序服务器和1个配置服务器。在此停机期间,其他两个配置服务器将只读,这意味着不会平衡分片,修改群集配置等。虽然您的另外两个mongos应该仍在运作(CRUD明智)。如果您的网络节点关闭,那么您有一个更大的问题需要处理。

如果其中两个节点关闭(2个进程节点,或1个Web服务器和进程节点),那么再次遇到更大的问题。即你的申请可能无论如何都无法运作。

话虽如此,请考虑这些节点能够处理mongos,应用服务器和配置服务器的能力。即CPU,RAM,网络连接等。

我建议首先在典型的工作负载和用例下测试开发/暂存群集中的部署体系结构。

另请参阅Sharded Cluster High Availability了解详情。

最后,我建议查看当前稳定版本的MongoDB v3.2。 v3.2中的配置服务器被建模为副本集,有关详细信息,请参阅Sharded Cluster config servers