在MongoDB Classic部署(MongoDB版本3.0)之后最近使用Compose.io升级MongoDB +(MongoDB版本3.2)时,我注意到他们没有为新部署提供ReplicaSet。
没有用于部署的副本集,它是一个分片部署,由一个“mongos'路由器。
每个部署都有2个mongos路由器。使用meteor,我们只能使用一个mongos路由器,因为meteor会将MONGO_URL放在一个逗号分隔的两个mongos路由器作为replicaSet,我们得到一个错误,上面写着MongoError:not master。
所以我们只将一个路由器放在MONGO_URL中。
现在问题:
我在Galaxy Developer的版本上托管了我的应用程序。 如果一个mongos路由器出现故障,应用程序将停止并且不会再次处理Observers。
因此,我们需要在应用程序中创建一些简单的测试逻辑,以查看主机是否已启动,如果没有移动到我认为目前Meteor不支持的下一个入口点。
如果我错了,请纠正我。什么是解决方法。
答案 0 :(得分:1)
您可以在mongos前添加代理(如haproxy,lvs),请参阅https://gist.github.com/sawanoboly/1366694。
Meteor ==> Haproxy ==> [Mongos1,Mongos2 ...] ==> [ReplicaSet1,ReplicaSet2 ...]