我正在探索MongoDB副本集,我想知道如何处理来自应用程序的故障转移。
以下是我的情景:
假设我有一个包含三个节点的副本集,例如A(主要),B(次要)和C(次要)。
1.从我的应用程序中,我应该连接哪台主机? ?A
2.主机A出现故障时会发生什么?一个中学(比如B)将接替为主要成员。我的应用程序应该设计为处理此转换并立即连接到B吗?
提前致谢。 我一直对如何设计应用程序感到困惑,同时使用副本集维护高可用性。
答案 0 :(得分:1)
您的应用程序连接字符串可以列出所有这些地址(或其中一些地址)。 Mongodb驱动程序知道连接哪一个。 基本上你只需要连接一个工作节点(甚至连接到辅助节点),你的应用程序会自动获取所有这些地址并知道要连接哪个地址。 这也适用于将primary传输到其他节点时,您的应用程序获取的信息是新主节点的地址。