前言
连接到分片集群的方式和连接到普通MongoDB实例的方式完全相同,不过当存在多个mongos实例的情况下,即使URI里写全了mongos实例的IP也无法自动做到mongos本身的高可用和负载均衡,通常这个可以通过搭建HaProxy或者LVS的方式实现。
实验条件
假设存在三个mongos节点,分别为10.9.71.164,10.9.69.74,10.9.77.132,而HaProxy的代理IP为10.9.80.23,采用简单的roundrobin轮询策略,则连接URI举例如下
mongodb://uclouder:edFO09SkdU@IP4:27017/test?
如何搭建haproxy不做描述,haproxy的配置文件如下
#---------------------------------------------------------------------
global
log 127.0.0.1 local3
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user root
group root
daemon
# turn on stats unix socket
stats socket /var/lib/haproxy/stats
#---------------------------------------------------------------------
defaults
<