所有标题:MongoDB中每个分片需要2个mongos吗?我不确定究竟是什么mongos,以及我的网站是否会与他们沟通,或者它是MongoDB内部的东西。
答案 0 :(得分:1)
如果您已设置群集(使用分片,不要与副本集混淆),则必须部署mongos
个实例。这是一个路由器进程。它知道哪些数据驻留在哪里。应用程序与mongos
进行对话,它将请求路由到相应的分片。强烈建议不要直接与碎片交谈。
您必须至少有一个mongos
进程。您可以拥有更多资源,资源占用空间小。我通常为每个应用程序服务器部署一个mongos
。
答案 1 :(得分:1)
mongos基本上只不过是一个路由器,它从配置服务器收集您的群集配置,缓存该配置,并使用它来路由目标,分散和收集分片集群中的操作。它也可以用于聚合,如果聚合查询在您的应用程序中很常见,mongos可以占用一些CPU和内存,但是,大多数情况下它们没有重量并且可以在最小的服务器上运行。
您不需要2个mongos,数量取决于通过该路由器发送的操作。然而,理论上你可以做一个不是非常多余的事情,并且可以解决单点故障,2可以减少这种情况。