美文网首页
5-3 HA代理MQ

5-3 HA代理MQ

作者: Finlay_Li | 来源:发表于2020-07-18 15:25 被阅读0次

HaProxy介绍

HaProxy是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,HaProxy特别适用于负载特大的web站点,完全可以支持数以万计的并发连接

构建

创建两个容器分别为:rabbitmq-haproxy8100、rabbitmq-haproxy8101

  1. 创建容器rabbitmq-haproxy8100挂载配置文件haproxy.cfg的目录

/data/haproxy/8100

  1. 创建容器rabbitmq-haproxy8101挂载配置文件haproxy.cfg的目录

/data/haproxy/8101

复制8100的haproxy.cfg把5677、8100、8000端口改成5678、8101、8001即可

  1. 配置文件
#logging options
global
    log 127.0.0.1 local0 info
    maxconn 5120
    chroot /usr/local/etc/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
    timeout connect 5s
    #客户端空闲超时时间为 60秒 则HA 发起重连机制
    timeout client 60s
    #服务器端链接超时时间为 15秒 则HA 发起重连机制
    timeout server 15s
#front-end IP for consumers and producters

listen rabbitmq_cluster
    bind 0.0.0.0:5677
    #配置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
    #解决ckient连接时,mq2秒无活动被haproxy删除的情况( 这里代理用的是tcp ,默认tcp 2小时活动一次,大于它即可 )
        timeout client  3h
        timeout server  3h
    #简单的轮询
    balance roundrobin
    #rabbitmq集群节点配置 
    #inter 每隔五秒对mq集群做健康检查, 2次正确证明服务器可用,2次失败证明服务器不可用
    server master5672 192.168.5.155:5672 check inter 5000 rise 2 fall 2
    server slave5673 192.168.5.155:5673 check inter 5000 rise 2 fall 2
    server slave5674 192.168.5.155:5674 check inter 5000 rise 2 fall 2
#配置haproxy web监控,查看统计信息
listen stats
    bind 0.0.0.0:8100
    mode http
    option httplog
    stats enable
    #设置haproxy监控地址为http://localhost:8100/rabbitmq-stats
    stats uri /rabbitmq-stats
    stats refresh 5s
    #设置访问账户和密码
    stats auth admin:qwg-haproxy
listen rabbitmq_admin #监听8000端口转发到rabbitmq的客户端
    bind 0.0.0.0:8000
    server master5672 192.168.5.155:15672 check inter 5000 rise 2 fall 2
    server slave5673 192.168.5.155:15673 check inter 5000 rise 2 fall 2
    server slave5674 192.168.5.155:15674 check inter 5000 rise 2 fall 2



分别创建并且运行容器

docker run -it --name rabbitmq-haproxy8100 -p 5677:5677 -p 8100:8100 -p 8000:8000  --net=rabbitmqnet -v /data/haproxy/8100/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro haproxy:latest

docker run -it --name rabbitmq-haproxy8101 -p 5678:5678 -p 8101:8101 -p 8001:8001  --net=rabbitmqnet -v /data/haproxy/8101/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro haproxy:latest

容器启动成功后, 访问HaProxy界面

http://192.168.5.155:8100/rabbitmq-stats
http://192.168.5.155:8101/rabbitmq-stats

image.png

可以看到RabbitMQ的3个节点为绿色,表示服务正常

image.png

访问以下地址也可以跳转到RabbitMQ客户端(代理)

http://192.168.5.155:8000
http://192.168.5.155:8001

端口说明

-p 5678:5678 Haproxy的端口
-p 8101:8101 Haproxy管理界面端口
-p 8001:8001 Haproxy代理Mq端口

相关文章

  • 5-3 HA代理MQ

    HaProxy介绍 HaProxy是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代...

  • Nginx

    反向代理(正向主动代理代理客户端,反向被动代理代理服务端)负载均衡单点高并发压力,高可用HA,Nginx(7层,臃...

  • VMware vCenter 群集HA警告 2018-06-08

    稳定运行的群集有一台ESXI主机突然出现HA警告“该主机上的 vSphere HA 代理无法访问其他主机的部分...

  • HAProxy端口资源耗尽的解决办法

    项目背景 系统使用HAProxy为mq和部分应用的负载均衡服务。近期,瞬时流量过大,导致出现连锁反应,HA开始波动...

  • 减肥打卡5

    5-3

  • Windows10 下搭建MQTT服务器

    MQTT: MQ 遥测传输 (MQTT) 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、...

  • Java扫盲

    如何设计一个mq,jvm内存模型,动态代理原理,线程池核心参数,饱和策略,mybatis 原理;高可用如何实现; ...

  • 【MQTT】在Windows下搭建MQTT服务器

    MQTT简介 MQ 遥测传输 (MQTT) 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量...

  • Ha, ha, ha…

    Laugh them away ~ What is good for you? All is addiction.

  • 爷爷奶奶帮记5

    煎饼5-3个烧饼 +热水

网友评论

      本文标题:5-3 HA代理MQ

      本文链接:https://www.haomeiwen.com/subject/afffkktx.html