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