MongoDB 高可用集群切换

  • MongoDB最简单的集群模式是三节点搭建Replica Set(副本集),这样可以保证一个节点故障后,其余节点还可以继续提供服务。
  • 在MongoDB集群中,也存在主节点和备用节点的角色,如主节点出现问题,会通过选举在备用节点中产生一个新的主节点,其主备用节点会自动向新的主节点进行同步。
  • 在新旧主节点完成切换后,对前端应用几乎是透明的,原因在于MongoDB特殊的连接字符串配置方式:
mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[database][?options]]

最后

  • 以上配置中,可以配置多个MongoDB的host,MongoDB会自动检测副本集中的主节点,并进行连接,如主节点挂掉,在切换的过程未完成时,前端应用会报错,直至切换完成后,新的连接会连接到新的主节点继续提供服务。
  • 这种特别的连接字符串实现,无需再为MongoDB搭建LVS的Vip自动切换等方式,默认即支持高可用故障切换。