系列文章目录
RabbitMQ:第一章:6 种工作模式以及消息确认机制(理论与代码相结合)
RabbitMQ:第二章:Spring整合RabbitMQ(简单模式,广播模式,路由模式,通配符模式,消息可靠性投递,防止消息丢失,TTL,死信队列,延迟队列,消息积压,消息幂等性)
RabbitMQ:第三章:Springboot集成RabbitMQ(直连模式,工作队列模式,发布订阅模式,路由模式,通配符模式
RabbitMQ:第四章:RabbitMQ集群搭建
文章目录
- 系列文章目录
- 前言
- 一、准备工作
- 二、集群搭建
- 1.集群搭建步骤
- 2.集群搭建负载均衡-HAProxy搭建
- 执行安装
- haproxy.cfg配置详解
- 总结
前言
提示:rabbitmq集群搭建。
提示:以下是本篇文章正文内容,下面案例可供参考
一、准备工作
首先搭建好多台独立的RabbitMQ,这里可以使用宝塔图形化页面安装也可自行安装 假设已经单独搭建好二台服务器了,这个时候就需要对服务器之间数据互通。
二、集群搭建
1.集群搭建步骤
设置服务器别名
代码语言:javascript复制 - 服务器1:hostnamectl set‐hostname m1
- 服务器2:hostnamectl set‐hostname m2
在m1服务器中统一 erlang.cookie 文件中 cookie 值 将m1中的 .erlang.cookie 同步到 m2中
代码语言:javascript复制scp /var/lib/rabbitmq/.erlang.cookie m2:/var/lib/rabbitmq/.erlang.cookie
说明:上面的命令中m2使用ip也行 Rabbitmq 集群添加节点:重启m2机器中rabbitmq 的服务在m2执行
代码语言:javascript复制#停止用户请求
rabbitmqctl stop_app
#将m2合并到集群中
rabbitmqctl join_cluster ‐‐ram rabbit@m2
#开启用户请求
rabbitmqctl start_app
#开启管理页面
rabbitmq‐plugins enable rabbitmq_management
#重启服务
systemctl restart rabbitmq‐server.service
查看集群信息
代码语言:javascript复制rabbitmqctl cluster_status
2.集群搭建负载均衡-HAProxy搭建
执行安装
代码语言:javascript复制#1、安装 yum install haproxy #2、配置haproxy.cfg文件 具体参照 如下配置HAProxy vim /etc/haproxy/haproxy.cfg。进入文件找到maxconn 3000把后面的内容都删除,添加集群监听,开启haproxy监控服务,代码如下:
#对MQ集群进行监听
listen rabbitmq_cluster
bind 0.0.0.0:5672
option tcplog
mode tcp
option clitcpka
timeout connect 1s
timeout client 10s
timeout server 10s
balance roundrobin
server node1 节点1 ip地址:5672 check inter 5s rise 2 fall 3
server node2 节点2 ip地址:5672 check inter 5s rise 2 fall 3
#开启haproxy监控服务
listen http_front
bind 0.0.0.0:1080
stats refresh 30s
stats uri /haproxy_stats
stats auth admin:admin
#3、启动haproxy systemctl start haproxy #4、查看haproxy进程状态 systemctl status haproxy.service #状态如下说明已经启动成功 Active: active (running) #访问如下地址对mq节点进行监控 http://服务器IP:1080/haproxy_stats #代码中访问mq集群地址,则变为访问haproxy地址:5672
haproxy.cfg配置详解
代码语言:javascript复制listen rabbitmg cluster
bind 0.0.0.0:5672#通过5672对M1, M2进行映射
option tcplog #记录tcp连接的状态和时间
mode tcp#四层协议代理,即对TCP协议转发
option clitcpka #开启TCP的Keep Alive. (长连接模式)
timeout connect 1s #haproxy与mq建立连接的超时时间
timeout client 10s#客户端与haproxy最大空闲时间。
timeout server 10s #服务器与haproxy最大空闲时间
balance roundrobin #采用轮询转发消息
#每5秒发送一次心跳包,如连续两次有响应则代表状态良好。
#如连续三次没有响应,则视为服务故障,该节点将被剔除。
server node1 ip1:5672 check inter 5s rise 2 fall 3
server node2 ip2:5672 check inter 5s rise 2 fall 3
listen http front
#监听端口
bind 0.0.0.0:1080
#统计页面自动刷新时间stats refresh 30s
#统计页面url
stats uri /haproxy?stats
#指定HAproxy访问用户名和密码设置
stats auth admin:admin
这个时候连接就可以通过haproxy代理连接啦,当然啦,HAProxy也有自己的管理页面,就是你安装服务器的ip加配置的1080端口,可以直接访问啦,当然HA也可以配置多台的。
总结
提示:这里对文章进行总结: 例如:以上就是今天要讲的内容,本文仅仅简单介绍了RabbitMQ集群搭建以及HAProxy代理。