作为一个概念验证项目,我已经设置了一个分片的MongoDB,只有两个分片和三个运行mongos实例的服务器。所有这些都在自己的Windows服务器上,但我想尝试在Linux系统上运行集群,因为我看到一些奇怪的行为,我认为可能与这些系统都在公司ESX服务器上的虚拟机上运行有关。另外,我只是好奇。
阅读尽可能多的文档后,我发现将查询分配给正确的分片的“mongos”实例是轻量级的,并且通常可以在应用程序服务器或具有mongod实例的系统上运行(documentation)。
我的问题是,MongoDB是否可以配置为在Windows服务器上运行mongos实例,而在Linux系统上运行mongod实例(分片)? mongos实例仍然能够将查询分配给分片吗?
阅读尽可能多的文档后,我发现将查询分配给正确的分片的“mongos”实例是轻量级的,并且通常可以在应用程序服务器或具有mongod实例的系统上运行(documentation)。
我的问题是,MongoDB是否可以配置为在Windows服务器上运行mongos实例,而在Linux系统上运行mongod实例(分片)? mongos实例仍然能够将查询分配给分片吗?
我之所以认为这对我有益,是因为我的应用程序是一个 .Net Web API,我想在 IIS 上托管它,因此它必须在 Windows 上运行。在 Linux 上运行分片的好处(这可能是错误的假设)是,Linux 系统需要比 Windows 服务器更少的开销,这意味着如果它在云提供商的虚拟机上运行,它将更便宜。