作为一个概念证明类型的项目,我建立了一个分片 MongoDB,只有两个分片和三个运行 mongos 实例的服务器。所有这些都在它们自己的 Windows 服务器上,但我想尝试在 Linux 系统上运行集群,因为我看到一些奇怪的行为,我认为这可能与系统都在企业 ESX 服务器。另外,我只是好奇。
在阅读了尽可能多的文档后,我发现将查询分派到正确分片的“mongos”实例是轻量级的,通常可以在应用程序服务器或具有 mongod 实例(文档)的系统上运行。
我的问题是,可以配置 MongoDB 以便mongos实例在 Windows 服务器上运行,而mongod实例(分片)在 Linux 系统上运行?mongos实例是否仍然能够向分片发送查询?
在我的情况下这将是有益的一个原因是我的应用程序是一个 .Net Web API,我想在 IIS 中托管,所以它必须在 Windows 上运行。在 Linux 上运行分片的好处(这可能是一个错误的假设)是 Linux 系统需要的开销比 Windows 服务器少,这意味着如果它在云提供商的 VM 上运行它会更便宜。