【发布时间】:2013-10-29 01:39:41
【问题描述】:
作为一个概念证明类型的项目,我建立了一个分片 MongoDB,只有两个分片和三个运行 mongos 实例的服务器。所有这些都在它们自己的 Windows 服务器上,但我想尝试在 Linux 系统上运行集群,因为我看到一些奇怪的行为,我认为 可能与系统都在企业 ESX 服务器上的虚拟机上运行。另外,我只是好奇。
在阅读了尽可能多的文档后,我发现将查询分派到适当分片的“mongos”实例是轻量级的,通常可以在应用程序服务器或具有 mongod 实例的系统上运行(@ 987654321@).
我的问题是,可以配置 MongoDB 以使 mongos 实例在 Windows 服务器上运行,而 mongod 实例(分片) 可以在 Linux 系统上运行吗? mongos 实例是否仍然能够将查询分派到分片?
这对我来说是有益的一个原因是我的应用程序是一个 .Net Web API,我想托管在 IIS 中,所以它必须在 Windows 上运行。在 Linux 上运行分片的好处可能是一个错误的假设,即 Linux 系统需要的开销比 Windows 服务器少,这意味着如果它在云提供商的 VM 上运行,成本会更低。
【问题讨论】:
-
理论上没有什么能阻止你,因为机器将通过标准化协议进行通信
-
我能预见的唯一问题是您在尝试维护这些系统时很可能会遇到的头痛问题:P 除此之外,@Sammaye 是正确的:只要实例没关系能够相互交流。 IE 正确的 IP、端口、防火墙设置等...
-
@Lix:什么头疼?我不明白为什么拥有异构基础架构比同构基础架构需要更多的维护?
-
@mnemosyn - 这(大部分)是个玩笑。我猜还有一些其他要求/限制会阻止 OP 对所有实例使用相同或相似的主机...
-
我们已经看到,如果集群(也是 mongos)中的 mongo db 版本(即使是次要版本)不同,它可能会遇到问题。否则它应该是工作。你试过这个,你有什么问题吗?
标签: mongodb