1

仅在副本集(而不是分片集群)前使用 mongos 有什么优点或缺点吗?必须在多个应用程序中指定相同的副本集成员对我来说并不合适——我宁愿在一个中心位置进行。

如果有的话,未来的分片会更加直接。正确的?

提前致谢!哈利。

4

2 回答 2

3

缺点是您可能在应用程序中引入了单点故障。如果 mongos 宕机了,那么 mongods 就不能再访问了——你已经破坏了副本集的高可用性。

您可以设置多个 mongos 实例,但随后您又回到了同一条船上。理论上你可以在你的 mongos 实例前设置一个负载均衡器,这样你只需要列出一个地址并且仍然可以具有高可用性。

于 2013-08-27T02:29:55.860 回答
2

没有错,事实上这是一个典型的好主意,主要是因为它允许您在不停机的情况下扩展到分片。

当然,为了冗余起见,您将拥有不止一个 mongos。您将在每个应用程序中定义负载平衡的 mongos 实例列表(在更严格的设置中),然后将其返回到您的副本集分片集群。

于 2013-08-27T08:03:03.627 回答