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

Nov*_*ato 6 replication sharding cluster-computing mongodb

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

对于第二个问题,有人可以解释一下,如果我有这个硬件的分片服务器,会发生什么

  • 服务器1:高CPU,SSD磁盘
  • 服务器2:普通CPU,Sata磁盘
  • 服务器3:普通CPU,SSD磁盘

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

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

Kel*_*vin 6

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

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

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

如果分片响应缓慢,mongos将仅等待分片返回结果.

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