CentOS7环境RabbitMQ集群配置管理------------HAProxy 实现镜像队列的负载均衡
程序员文章站
2022-03-29 20:01:47
...
1. RabbitMQ镜像集群架构
2. HAProxy 简介
HAProxy是一款提供高可用性、负载均衡以及基于TCP和HTTP应用的代理软件,HAProxy是完全免费的、借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案。
HAProxy适用于那些负载较大的web站点,这些站点通常又需要会话保持或七层处理。
HAProxy可以支持数以万计的并发连接,并且HAProxy的运行模式使得它可以很简单安全的整合进架构中,同时可以保护web服务器不被暴露到网络上。
3. HAProxy 的规划(搭建2台是为后面做HAProxy高可用做准备)
ip | 用途 | 主机名 |
---|---|---|
192.168.16.61 | HAProxy | server4 |
192.168.16.78 | HAProxy | server5 |
4. HAProxy 的安装
#下载依赖包 - 如果已安装可以跳过
yum install gcc vim wget
# 下载haproxy
wget http://www.haproxy.org/download/1.6/src/haproxy-1.6.5.tar.gz
#解压
tar -zxvf haproxy-1.6.5.tar.gz -C /usr/local
#进入目录、进行编译、安装
cd /usr/local/haproxy-1.6.5
make TARGET=linux31 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy
#用来存放配置文件
mkdir /etc/haproxy
#赋权
groupadd -r -g 149 haproxy
useradd -g haproxy -r -s /sbin/nologin -u 149 haproxy
#创建haproxy配置文件
touch /etc/haproxy/haproxy.cfg
5.HAProxy 的配置
61机器配置
#logging options
global
log 127.0.0.1 local0 info
maxconn 5120
# ha的安装地址
chroot /usr/local/haproxy
uid 99
gid 99
daemon
quiet
nbproc 20
pidfile /var/run/haproxy.pid
defaults
log global
#使用4层代理模式,”mode http”为7层代理模式
mode tcp
#if you set mode to tcp,then you nust change tcplog into httplog
option tcplog
option dontlognull
retries 3
option redispatch
maxconn 2000
contimeout 5s
##客户端空闲超时时间为 30秒 则HA 发起重连机制
clitimeout 30s
##服务器端链接超时时间为 15秒 则HA 发起重连机制
srvtimeout 15s
#front-end IP for consumers and producters
listen rabbitmq_cluster
bind 192.168.16.61: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 server1 192.168.16.24:5672 check inter 5000 rise 2 fall 2
server server2 192.168.16.46:5672 check inter 5000 rise 2 fall 2
server server3 192.168.16.59:5672 check inter 5000 rise 2 fall 2
#配置haproxy web监控,查看统计信息
listen stats
bind 192.168.16.61:8100 # 注意此处的ip地址,我们配置了2台机器
mode http
option httplog
stats enable
#设置haproxy监控地址为http://192.168.16.61:8100/rabbitmq-stats
stats uri /rabbitmq-stats
stats refresh 5s
78机器配置
#logging options
global
log 127.0.0.1 local0 info
maxconn 5120
# ha的安装地址
chroot /usr/local/haproxy
uid 99
gid 99
daemon
quiet
nbproc 20
pidfile /var/run/haproxy.pid
defaults
log global
#使用4层代理模式,”mode http”为7层代理模式
mode tcp
#if you set mode to tcp,then you nust change tcplog into httplog
option tcplog
option dontlognull
retries 3
option redispatch
maxconn 2000
contimeout 5s
##客户端空闲超时时间为 30秒 则HA 发起重连机制
clitimeout 30s
##服务器端链接超时时间为 15秒 则HA 发起重连机制
srvtimeout 15s
#front-end IP for consumers and producters
listen rabbitmq_cluster
bind 192.168.16.78: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 server1 192.168.16.24:5672 check inter 5000 rise 2 fall 2
server server2 192.168.16.46:5672 check inter 5000 rise 2 fall 2
server server3 192.168.16.59:5672 check inter 5000 rise 2 fall 2
#配置haproxy web监控,查看统计信息
listen stats
bind 192.168.16.78:8100 # 注意此处的ip地址,我们配置了2台机器
mode http
option httplog
stats enable
#设置haproxy监控地址为http://192.168.16.78:8100/rabbitmq-stats
stats uri /rabbitmq-stats
stats refresh 5s
6. 启动HAproxy
/usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg
#查看haproxy进程状态
ps -ef | grep haproxy
7、访问HAproxy( 如果不能访问看下防火墙是否关闭)