你提的这个问题非常关键,也是配置副本集时需要仔细考虑的网络拓扑设计问题。MongoDB 副本集中的成员确实需要直接连通,这是因为:
MongoDB 副本集的工作原理要求直接连接
-
心跳机制(Heartbeat)
MongoDB 副本集中的所有成员需要通过心跳机制相互通信,以监控其他成员的状态(如 PRIMARY 或 SECONDARY)。这就要求每个副本集成员都能直接连通其他成员的实例。 -
数据同步(Replication)
SECONDARY 副本通过直接连接到 PRIMARY 副本的实例,获取 oplog(操作日志),并根据 oplog 更新自身的数据。这种数据同步...