1.rabbitmq安装参照之前博客
2.haproxy的安装,haproxy的安装主要是看懂配置文件,以下为使用docker-compose方式安装的相关配置文件
#新建haproxy文件加,
mkdir /data/haproxy
#新建docker-compose.yml文件和haproxy.cfg文件
docker-compose.yml
version: "3.9"
services:
haproxy:
image: haproxy:2.3.4
container_name: haproxy
restart: always
volumes:
- /data/haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
ports:
- 8888:8888 # 监控端口
- 56720:56720 # rabbitmq端口
- 61600:61600 # stomp端口
privileged: true
haproxy.cfg
global #全局设置
maxconn 20000 #最大连接数
log 127.0.0.1 local0 #日志输出配置,所有日志都记录在本机,通过local0输出
daemon #以后台形式运行haproxy
defaults #默认设置
mode http #工作模式,支持TCP、http、health
log global #使用global的日志
option httplog #启用HTTP请求,会话状态和计时器的日志记录
option dontlognull #启用空连接不记录日志
maxconn 8000 #设置最大套接字连接数
timeout client 30s #设置客户端的最长不活动时间
retries 2 #2次连接失败就认为服务器不可用,主要通过后面的check检查
option redispatch #当serverid对应的服务器挂掉后,强制定向到其他健康服务器
timeout connect 5s #设置等待连接尝试到服务器成功的最长时间。
timeout server 30s #设置服务器端的最长不活动时间。
timeout queue 30s #设置队列中等待连接池空闲的最长时间
frontend dashboard #haproxy监控代理
bind *:8888
mode http
#URI相对地址
stats uri /dashboard
#统计报告格式
stats realm Global\ statistics
#登陆帐户信息
stats auth admin:123456
frontend rabbitmq #rabbitmq代理
bind *:56720
default_backend dynamic
stats refresh 5s
backend dynamic #后台
mode http
stats refresh 5s
balance roundrobin #负载均衡算法(轮循)
server master01 192.168.56.105:5672 check port 5672 weight 1 maxconn 2000
server slave02 192.168.56.106:5672 check port 5672 weight 1 maxconn 2000
server slave01 192.168.56.107:5672 check port 5672 weight 1 maxconn 2000
frontend rabbitmq_stomp #rabbitmq_stomp代理
mode tcp
option tcplog
bind *:61600
default_backend dynamic_stomp
backend dynamic_stomp #后台
mode tcp
option tcplog
balance roundrobin #负载均衡算法(轮循)
server master01 192.168.56.105:61613 check port 61613 weight 1 maxconn 5000
server slave02 192.168.56.106:61613 check port 61613 weight 1 maxconn 5000
server slave01 192.168.56.107:61613 check port 61613 weight 1 maxconn 5000
配置完启动,然后访问haproxy的监控页面
http://192.168.56.107:8888/dashboard
3.frontend配置方式
haproxy.cfg
global #全局设置
maxconn 20000 #最大连接数
log 127.0.0.1 local0 #日志输出配置,所有日志都记录在本机,通过local0输出
daemon #以后台形式运行haproxy
defaults #默认设置
mode http #工作模式,支持TCP、http、health
log global #使用global的日志
option httplog #启用HTTP请求,会话状态和计时器的日志记录
option dontlognull #启用空连接不记录日志
maxconn 8000 #设置最大套接字连接数
timeout client 30s #设置客户端的最长不活动时间
retries 2 #2次连接失败就认为服务器不可用,主要通过后面的check检查
option redispatch #当serverid对应的服务器挂掉后,强制定向到其他健康服务器
timeout connect 5s #设置等待连接尝试到服务器成功的最长时间。
timeout server 30s #设置服务器端的最长不活动时间。
timeout queue 30s #设置队列中等待连接池空闲的最长时间
listen dashboard #haproxy监控代理
bind *:8888
mode http
#URI相对地址
stats uri /dashboard
#统计报告格式
stats realm Global\ statistics
#登陆帐户信息
stats auth admin:123456
listen rabbitmq
bind *:56720
mode http
stats refresh 5s
balance roundrobin #负载均衡算法(轮循)
server master01 192.168.56.105:5672 check port 5672 weight 1 maxconn 2000
server slave02 192.168.56.106:5672 check port 5672 weight 1 maxconn 2000
server slave01 192.168.56.107:5672 check port 5672 weight 1 maxconn 2000
listen rabbitmq_stomp
bind *:61600
mode tcp
option tcplog
balance roundrobin #负载均衡算法(轮循)
server master01 192.168.56.105:61613 check port 61613 weight 1 maxconn 5000
server slave02 192.168.56.106:61613 check port 61613 weight 1 maxconn 5000
server slave01 192.168.56.107:61613 check port 61613 weight 1 maxconn 5000
该方式haproxy监控状态如下