我是 mongodb 副本集和分片的新手。
我正在两台服务器上设置 IP 故障转移。我在 AWS 路由 53 上设置了 DNS 故障转移,以便在主服务器发生故障时切换 IP 地址。我还在主服务器和辅助服务器上设置了 Mongo 副本集。
问题是,辅助服务器无法写入副本集(本地实例),因为它是辅助的。
我该如何设置,以便当 AWS 切换 IP 时,流量转到辅助服务器(假设主 mongodb 已关闭)?
编辑:还设置主服务器和辅助服务器之间的文件同步。
答案1
MongoDB 复制不是这样工作的。当您设置集群时,集群将选出一个主服务器,这将是数据的参考点(始终写入,读取取决于您如何配置客户端)。如果服务器发生故障,其余服务器将选出一个新的主服务器(假设它们具有法定人数),并从该服务器进行同步。
您的客户端(如果您使用官方的 mongoDB 客户端)能从任何主服务器或辅助服务器读取(如果配置为这样做),并且集群本身将告诉您的客户端主服务器已更改,以便它可以写入它。