【原】HAProxy 做rabbitmq的高可用

1 haproxy 下载 从如下目录下载haproxy:http://www.haproxy.org/download/1.7/src/haproxy-1.7.1.tar.gz
2 haproxy 安装
解压haproxy: tar -xvf haproxy-1.7.1.tar.gz
进入haproxy目录:cd haproxy-1.7.1/
编译haproxy:sudo make TARGET=linux31 PREFIX=/usr/local/haproxy
安装haproxy:sudo make install PREFIX=/usr/local/haproxy
3 haproxy配置:
进入haproxy目录:cd /usr/local/haproxy/
创建haproxy配置文件:sudo vi haproxy-rabbitmq.cfg
如下是用haproxy 为rabbimq做高可用集群的配置

global
    log 127.0.0.1 local1
    log-tag haproxy
    maxconn 4096
    #user haproxy
    #group haproxy
    daemon
    stats socket /var/run/haproxy.sock mode 600 level admin
    stats timeout 2m
defaults
    log global
    mode http
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms
    option dontlognull
    option http-server-close
listen admin
    bind 0.0.0.0:8008
    mode http
    stats uri /stats
frontend rabbitmq
    mode tcp
    bind 0.0.0.0:5679
    #把client的超时时间设置的长一点很重要,HAProxy默认是50秒,这样如果50秒还没有消息到来,HAProxy就会断开客户端,这是不合适的
    timeout client 168h
    default_backend rabbitmq_nodes
    log global
    option tcplog
    option logasap
backend rabbitmq_nodes
    mode tcp
    balance roundrobin
    timeout server 168h
    server  apple 0.0.0.0:5674 check inter 1000 fall 3 rise 3
    server  dell 0.0.0.0:5675 check inter 1000 fall 3 rise 3
    server  xiaomi 0.0.0.0:5673 check inter 1000 fall 3 rise 3
#我把RabbitMQ的管理界面也放在HAProxy后面了
listen rabbitmq_admin 
    bind  0.0.0.0:15679
    mode http
    timeout server 168h
    balance roundrobin
    server apple 127.0.0.1:15673 check inter 1000 fall 3 rise 3
    server dell 127.0.0.1:15674 check inter 1000 fall 3 rise 3

说明:

   server apple 127.0.0.1:15673 check inter 1000 fall 3 rise 3

如上代码:

server :后台服务器定义中的内部标识
: :连接到后台服务器的IP和端口号
check inter  :定义了每个多少毫秒检查后台服务器是否可用
rise :表明了后台服务器在发生故障之后,需要完成多少次健康检测,才能再次被确认可用
fall  :表明需要经历多少次的失败健康检测,HAProxy才会停止使用后台服务器

启动方法 ./sbin/haproxy -f haproxy-rabbitmq.cfg

你可能感兴趣的:(【原】HAProxy 做rabbitmq的高可用)