一个地址的MongoDB故障转移

一个地址的MongoDB故障转移,mongodb,failover,Mongodb,Failover,我想知道是否有可能让mongodb只使用一个地址进行故障转移。我知道副本集通常用于此目的,同时依赖驱动程序进行切换,但我希望有一种解决方案,允许在mongodb实例被识别为关闭时自动切换一个地址或主机名 有这样的运气吗?我知道MySQL有很多解决方案,但我还没有找到MongoDB的解决方案 谢谢 是的,驱动程序可能会保存副本集的缓存映射,当该副本集遭受选择时,它将查询该副本集的新主缓存映射。这个映射每隔一段时间就会刷新一次,但是,如果应用程序重新启动(进程退出或其他什么,或者PHP fork模式

我想知道是否有可能让mongodb只使用一个地址进行故障转移。我知道副本集通常用于此目的,同时依赖驱动程序进行切换,但我希望有一种解决方案,允许在mongodb实例被识别为关闭时自动切换一个地址或主机名

有这样的运气吗?我知道MySQL有很多解决方案,但我还没有找到MongoDB的解决方案


谢谢

是的,驱动程序可能会保存副本集的缓存映射,当该副本集遭受选择时,它将查询该副本集的新主缓存映射。这个映射每隔一段时间就会刷新一次,但是,如果应用程序重新启动(进程退出或其他什么,或者PHP fork模式的每个请求),那么驱动程序别无选择,只能刷新它的映射。此时,您将遇到连接问题

当然,最好的办法是添加一个种子列表


使用单个IP会破坏MongoDB中内置的冗余。

如果第一个MongoDB实例出现故障,您是否要将IP地址重新分配给另一个MongoDB实例?也许您可以解释一下为什么首先需要这样的解决方案?是的,重新分配IP。我们的想法是,不要让连接到mongo实例的人不得不修改他们的代码以包含副本集中的其他项。