18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构( 三 )

配置文件
#logging optionsgloballog 127.0.0.1 local0 infomaxconn 5120chroot /usr/local/haproxyuid 99gid 99daemonquietnbproc 20pidfile /var/run/haproxy.piddefaultslog global#使用4层代理模式 , ”mode http”为7层代理模式mode tcp#if you set mode to tcp,then you nust change tcplog into httplogoption tcplogoption dontlognullretries 3option redispatchmaxconn 2000contimeout 10s##客户端空闲超时时间为 60秒 则HA 发起重连机制clitimeout 10s##服务器端链接超时时间为 15秒 则HA 发起重连机制srvtimeout 10s#front-end IP for consumers and producterslisten rabbitmq_clusterbind 0.0.0.0:5672#配置TCP模式mode tcp#balance url_param userid#balance url_param session_id check_post 64#balance hdr(User-Agent)#balance hdr(host)#balance hdr(Host) use_domain_only#balance rdp-cookie#balance leastconn#balance source //ip#简单的轮询balance roundrobin#rabbitmq集群节点配置 #inter 每隔五秒对mq集群做健康检查 ,  2次正确证明服务器可用 , 2次失败证明服务器不可用 , 并且配置主备机制server rabbitmqmaster 192.168.247.150:5672 check inter 5000 rise 2 fall 2server rabbitmqso 192.168.247.151:5672 check inter 5000 rise 2 fall 2server rabbitmqst 192.168.247.152:5672 check inter 5000 rise 2 fall 2#配置haproxy web监控 , 查看统计信息listen stats# 154改为154bind 192.168.247.153:8100mode httpoption httplogstats enable#设置haproxy监控地址为http://localhost:8100/rabbitmq-statsstats uri /rabbitmq-statsstats refresh 5s启动/usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg查看服务http://192.168.247.153:8100/rabbitmq-statshttp://192.168.247.154:8100/rabbitmq-stats

18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构

文章插图

18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构

文章插图
停止[扩展]killall haproxyps -ef | grep haproxynetstat -tunpl | grep haproxyps -ef |grep haproxy |awk '{print $2}'|xargs kill -9安装Keepalived[153,154]简介
  • 之前在Nginx已经用过Keepalived了
  • Keepalived , 它是一个高性能的服务器高可用或热备解决方案 , Keepalived主要来防止服务器单点故障的发生问题 , 可以通过其与Nginx、Haproxy等反向代理的负载均衡服务器配合实现web服务端的高可用 。Keepalived以VRRP协议为实现基础 , 用VRRP协议来实现高可用性(HA).VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议 , VRRP协议将两台或多台路由器设备虚拟成一个设备 , 对外提供虚拟路由器IP(一个或多个) 。
安装我直接采用2.0.18版本, 上传到linux
18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构

文章插图
tar -zxvf keepalived-2.0.18.tar.gzcd keepalived-2.0.18/yum install libnl libnl-devel./configure \--prefix=/usr/local/keepalived \--sysconf=/etcmake && make installcd /etc/keepalived/vi keepalived.conf153配置
! Configuration File for keepalivedglobal_defs {router_id haproxykm##标识节点的字符串 , 通常为hostname}vrrp_script chk_haproxy {script "/etc/keepalived/haproxy_check.sh"##执行脚本位置interval 2##检测时间间隔weight -20##如果条件成立则权重减20}vrrp_instance VI_1 {state MASTER## 主节点为MASTER , 备份节点为BACKUPinterface ens33 ## 绑定虚拟IP的网络接口(网卡) , 与本机IP地址所在的网络接口相同(我这里是eth0)virtual_router_id 74## 虚拟路由ID号(主备节点一定要相同)mcast_src_ip 192.168.247.153 ## 本机ip地址priority 100##优先级配置(0-254的值)nopreemptadvert_int 1## 组播信息发送间隔 , 俩个节点必须配置一致 , 默认1sauthentication {## 认证匹配auth_type PASSauth_pass bhz}track_script {chk_haproxy}virtual_ipaddress {192.168.247.160## 虚拟ip , 可以指定多个}}

经验总结扩展阅读