MongoDB副本集通过维护多份数据副本来保证数据的高可用。相当于主备方式的数据冗余,其提供了自动故障转移的主从复制集群,其中复制集没有固定的主节点,当一个主机的故障后从节点会重新“选举”出一个新的主节点,从而提高的系统的可用性。MongoDB副本集只有Primary节点具有写数据的能力,当副本集中Primary节点宕机,或者副本集本身轮转升级时,副本集会触发选举,选出一个新的primary,原Primary节点则会降级成secondary。
MongoDB典型副本集架构
当客户端连接副本集时,如果以primary地址连接实例,当发生上述情况时,P节点降级为Secondary节点,客户端将无法继续执行写操作。为了解决这一问题,连接线上数据时,最好是使用副本集方式连接副本集。
正确连接副本集,可以参考官网的