rabbitmq基于haproxy和keepalived构建高可用集群

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监控状态如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值