小编Jam*_*ell的帖子

可以将 MongoDB 配置为位于负载均衡器后面吗?

根据这篇文章

在单个副本集中,您不能分发写入,它们都必须转到主副本。您可以通过您认为合适的读取首选项将读取分发到辅助节点。驱动程序跟踪什么是主要的,什么是次要的,并适当地路由查询。

根据Mongo 文档

您还可以部署一组 mongos 实例并在应用程序和 mongos 之间使用代理/负载均衡器。在这些部署中,您必须为客户端关联配置负载均衡器,以便来自单个客户端的每个连接都到达相同的 mongos。

所以基本上,如果你有一个由 3 个节点组成的副本集,你就不能真正使用代理/负载均衡器,因为所有写入都需要转到主节点,并且你需要客户端关联......所以所有读取还需要去初级。

不过,我在想的是,有可能将应用程序连接到负载平衡器。负载均衡器会将所有请求路由到主节点(不是很平衡,但无论如何)......直到/除非主节点宕机——此时负载均衡器将开始将请求路由到“新的主节点”。

我不确定这是否可行,因为负载均衡器如何知道哪个 mongo 服务器被选为新的主服务器(以及它应该在哪里路由新请求)?

假设这是可能的,这将实现一定程度的冗余,以防主服务器出现故障......我也希望它也能在网络分区发生时避免过时写入的副作用,因为负载平衡器(因此所有数据库客户端)只会连接到一个主服务器。

或者这是一个愚蠢的问题......

replication mongodb proxy

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

mongodb ×1

proxy ×1

replication ×1