rabbitmq高可用

2019-04-03  本文已影响0人  zxz_e5d9

rabbitmq高可用

1、安装3台Rabbitmq服务器
2、同步主服务器cookie文件到其他服务器
3、停止两台从服务器
4、两台从服务器加入到主服务器集群 rabbitmqctl join_cluster rabbit@host1
5、设置镜像队列 sudo rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

6、两台haproxy服务器

haproxy 监控页面地址是:http://192.168.68.131:9188/haproxy_status

listen admin_stats
bind *:9188
mode http
log 127.0.0.1 local3 err
stats refresh 60s
stats uri /haproxy_status
stats realm welcome login\ Haproxy
stats auth admin:123456
stats hide-version
stats admin if TRUE

rabbitmq 集群配置,转发到

listen rabbitmq_cluster
bind *:5672
mode tcp
balance roundrobin
server rabbitnode1 192.168.85.131:5672 check inter 2000 rise 2 fall 3 weight 1
server rabbitnode2 192.168.85.132:5672 check inter 2000 rise 2 fall 3 weight 1
server rabbitnode3 192.168.85.133:5672 check inter 2000 rise 2 fall 3 weight 1

这样任意一台haproxy都对3台rabbitmq负载,并且如果2秒检查2次失败的话,会将失败节点移除

7、两台keepalived
-------------------------------------------------主配置--------------------------------------------
global_defs {
router_id haproxy #虚拟路由名称
}

#HAProxy健康检查配置
vrrp_script chk_haproxy {
    script "killall -0 haproxy"  #使用killall -0检查haproxy实例是否存在,性能高于ps命令
    interval 2   #脚本运行周期
    weight 2   #每次检查的加权权重值
}

#虚拟路由配置
vrrp_instance VI_1 {
    state MASTER           #本机实例状态,MASTER/BACKUP,备机配置文件中请写BACKUP
    interface ens33      #本机网卡名称,使用ifconfig命令查看
    virtual_router_id 51   #虚拟路由编号,主备机保持一致
    priority 101           #本机初始权重,备机请填写小于主机的值(例如100)
    advert_int 1           #争抢虚地址的周期,秒
    virtual_ipaddress {
        192.168.85.150      #虚地址IP,主备机保持一致
    }
    track_script {
        chk_haproxy        #对应的健康检查配置
    }
}

-------------------------------------------------从配置--------------------------------------------
global_defs {
router_id haproxy #虚拟路由名称
}

#HAProxy健康检查配置
vrrp_script chk_haproxy {
    script "killall -0 haproxy"  #使用killall -0检查haproxy实例是否存在,性能高于ps命令
    interval 2   #脚本运行周期
    weight 2   #每次检查的加权权重值
}

#虚拟路由配置
vrrp_instance VI_1 {
    state BACKUP           #本机实例状态,MASTER/BACKUP,备机配置文件中请写BACKUP
    interface ens33      #本机网卡名称,使用ifconfig命令查看
    virtual_router_id 51   #虚拟路由编号,主备机保持一致
    priority 100           #本机初始权重,备机请填写小于主机的值(例如100)
    advert_int 1           #争抢虚地址的周期,秒
    virtual_ipaddress {
        192.168.85.150      #虚地址IP,主备机保持一致
    }
    track_script {
        chk_haproxy        #对应的健康检查配置
    }
}
上一篇下一篇

猜你喜欢

热点阅读