我的第一个问题非常简单,我只是想知道我是否可以在我的分片/副本群集中混合使用Linux和Windows mongodb服务器,并且版本与2.2相同?
对于第二个问题,如果我有使用此硬件的分片服务器,有人可以解释什么是
当我们有不同的硬件服务器时,分片将如何工作?
在具有几乎相同硬件的机器上构建集群是否很重要?
答案 0 :(得分:6)
混合Linux和Windows服务器应该没有问题,假设(如你所说)MongoDB版本是等效的。
关于硬件的差异,MongoDB尝试在分片间均匀分布数据,每个服务器将尽可能多地使用可用资源,以提供最佳性能。当服务器上的另一个进程请求某些资源时,Mongo将放弃这些资源。这通常意味着将一些数据交换到磁盘,直到更多的RAM再次可用。
因为您的服务器将以不同的速度执行此操作和其他操作,所以重要的问题变为“当分片中的一台服务器运行缓慢时会发生什么”。根据{{3}}:
如果分片响应缓慢,mongos只会等待分片返回结果。
所以在实践中,分片集合的部分将比其他部分慢,但一切都应该工作得很好。如果硬件匹配,你可能会有更好的体验,但它没有。