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

18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构
文章插图
控制台查看集群

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

文章插图
查看集群状态# 任意节点rabbitmqctl cluster_status配置镜像队列设置镜像队列策略
# 任意节点rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构

文章插图
将所有队列设置为镜像队列,即队列会被复制到各个节点,各个节点状态一致,RabbitMQ高可用集群就已经搭建好了,我们可以重启服务,查看其队列是否在从节点同步
移除集群节点[扩展]// 在要移除的节点上执行rabbitmqctl forget_cluster_node rabbit@bhz71修改集群名称(默认为第一个node名称)[扩展]# 任意节点rabbitmqctl set_cluster_name rabbitmq_cluster1RabbitMQ配置位置我一般不修改, 正式环境有运维, 开发的话, 能跑就行
/usr/local/rabbitmq/plugins/rabbit-3.10.7/ebin/rabbit.app测试集群【18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构】测试队列同步
在150上新建队列
18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构

文章插图

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

文章插图
队列开始同步
18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构

文章插图
同步镜像队列两个
18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构

文章插图

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

文章插图
151,152都已经同步
安装Ha-Proxy[153,154]简介
  • HAProxy是一款提供高可用性、负载均衡以及基于TCP和HTTP应用的代理软件,HAProxy是完全免费的、借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案 。
  • HAProxy适用于那些负载较大的web站点,这些站点通常又需要会话保持或七层处理 。
  • HAProxy可以支持数以万计的并发连接,并且HAProxy的运行模式使得它可以很简单安全的整合进架构中,同时可以保护web服务器不被暴露到网络上 。
安装# 下载wget http://www.haproxy.org/download/1.6/src/haproxy-1.6.6.tar.gz# 解压tar -zxvf haproxy-1.6.6.tar.gz# 进入文件夹cd haproxy-1.6.6/# 编译make target=linux31 prefix=/usr/local/haproxy# 安装make install prefix=/usr/local/haproxy# 创建文件夹mkdir /etc/haproxy# 权限groupadd -r -g 149 haproxyuseradd -g haproxy -r -s /sbin/nologin -u 149 haproxy# 创建配置文件touch /etc/haproxy/haproxy.cfg# haproxy 配置文件haproxy.cfg详解# 编辑配置文件vi /etc/haproxy/haproxy.cfg配置文件
#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高可用架构

推荐阅读