• 副本集实例的Primary节点不是固定的。当遇到副本集轮转升级、Primary节点宕机、网络分区等场景时可能会触发主备切换,副本集可能会选举一个新的Primary节点,原先的Primary节点会降级为Secondary节点。

要正确连接副本集实例,您需要先了解下MongoDB的,所有官方的driver都支持以Connection String的方式来连接MongoDB。

说明:

  • mongodb:// :前缀,代表这是一个Connection String。
  • :登录数据库的用户和密码信息,如果启用了鉴权,需要指定密码。
  • hostX:portX:副本集成员的IP地址:端口信息,多个成员以逗号分割。
  • ?options:指定额外的连接选项。

云数据库MongoDB提供了 Connection String URI 连接方式。

  • 获取副本集实例的 Connection String URI 连接信息,详情请参考。
  • 应用程序设置使用 Connection String URI 来连接实例,详情请参考程序代码连接实例

说明
要实现读写分离,需要在 Connection String URI 的options里添加,设置读请求为Secondary节点优先。

示例:

    通过上述 Connection String 来连接MongoDB副本集实例,读请求将优先发给Secondary节点实现读写分离。同时客户端会自动检测节点的主备关系,当主备关系发生变化时,自动将写操作切换到新的Primary节点上,以保证服务的高可用。