混合Linux和Windows MongoDB副本集,对于分片来说是相同的硬件

时间:2012-09-09 17:51:20

标签: mongodb replication cluster-computing sharding

我的第一个问题非常简单,我只是想知道我是否可以在我的分片/副本群集中混合使用Linux和Windows mongodb服务器,并且版本与2.2相同?

对于第二个问题,如果我有使用此硬件的分片服务器,有人可以解释什么是

  • 服务器1:高CPU,SSD磁盘
  • 服务器2:正常CPU,Sata磁盘
  • 服务器3:正常CPU,SSD磁盘

当我们有不同的硬件服务器时,分片将如何工作?

在具有几乎相同硬件的机器上构建集群是否很重要?

1 个答案:

答案 0 :(得分:6)

混合Linux和Windows服务器应该没有问题,假设(如你所说)MongoDB版本是等效的。

关于硬件的差异,MongoDB尝试在分片间均匀分布数据,每个服务器将尽可能多地使用可用资源,以提供最佳性能。当服务器上的另一个进程请求某些资源时,Mongo将放弃这些资源。这通常意味着将一些数据交换到磁盘,直到更多的RAM再次可用。

因为您的服务器将以不同的速度执行此操作和其他操作,所以重要的问题变为“当分片中的一台服务器运行缓慢时会发生什么”。根据{{​​3}}:

  

如果分片响应缓慢,mongos只会等待分片返回结果。

所以在实践中,分片集合的部分将比其他部分慢,但一切都应该工作得很好。如果硬件匹配,你可能会有更好的体验,但它没有。