我们在Azure上运行MongoDB,正在设置生产副本集(无分片),我在这里查看建议:
http://docs.mongodb.org/ecosystem/tutorial/install-mongodb-on-linux-in-azure/
我看到副本集配置是这样的,成员将通过外部IP地址相互通信-这不是将1)产生额外的Azure成本,因为复制流量通过外部IP,以及2)由于相同的复制延迟?
我们至少有一个与Mongo对话的应用程序将在Azure之外运行。
AWS有一个功能,当从虚拟机查找时,外部DNS名称解析为内部IP,当从外部解析时,解析为外部IP,这使得事情变得非常容易:)在我之前的工作中,我在AWS中运行了一个相当大的分片mongodb ...
我很好奇你们的推荐是什么?我有两个想法。
1)为每个mongo主机配置一个外部IP (不完全确定如何在Azure中做到这一点,但我确信这是可能的…)并将DNS配置为指向外部的这些IP。然后,将每个虚拟机配置为具有一个/etc/hosts文件,该文件将这些相同的名称指向内部IP地址。在所有情况下都在端口27017上运行Mongo (或者实际上是任何端口)。这意味着set通过内部it进行复制流量,但外部客户端可以使用相同的DNS名称与其通信。
2)与#1类似,但在3个不同的端口上运行mongo,但只有一个外部IP地址,并将所有三个外部DNS名称指向此外部IP地址。我们实现了相同的结果,但我认为它更干净。
谢谢!杰瑞
发布于 2015-04-21 15:24:57
没有最好的方法,但让我澄清一些“客观”的观点:
servicename.cloudapp.net:port从一个虚拟机连接到另一个虚拟机。免费。https://stackoverflow.com/questions/29754215
复制相似问题