美文网首页
rabbitmq高可用

rabbitmq高可用

作者: zxz_e5d9 | 来源:发表于2019-04-03 17:35 被阅读0次

    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        #对应的健康检查配置
        }
    }
    

    相关文章

      网友评论

          本文标题:rabbitmq高可用

          本文链接:https://www.haomeiwen.com/subject/qhozbqtx.html