Rabbitmq+HAproxy+Keepalived实现高可用加负载均衡


前言

生产环境中连接单节点服务是比较危险的情况,一旦服务宕机则会出现前端用户访问失败的情况,而且只连单机服务容易造成单机负载过高导致服务响应过慢,使用Rabbitmq集群则能够避免这种情况,同时通过haProxy实现负载均衡,再使用keepalived服务实现虚拟IP漂移,任一节点服务宕机均不会影响服务的正常运行,对于业务要求度比较高的场合适合此种模式,尤其是7x24的服务。

一、配置信息

  1. 本次服务安装涉及的中间件信息、服务器信息如下表所示:
IP 主机名 操作系统 用途
80.31.102.15 cd15 Centos 7.6 MQ集群节点
80.31.102.18 cd18 Centos 7.6 MQ集群节点
80.31.102.22 cd22 Centos 7.6 MQ集群节点
80.85.6.4 dy04 Centos 7.6 haproxy+keepalived
80.85.6.6 dy06 Centos 7.6 haproxy+keepalived
  1. 集群规划图如下所示:

  1. 本次安装的rabbitmq3.8.1、haproxy-1.9.5、keepalived-2.1.5均提供下载地址,也可自行选择其他版本,或者直接使用yum -y install命令进行安装 ,楼主选择源码安装的原因主要是方便管理,建议各位在实际生产中尽量使用源码安装,方便后期运维管理

#Rabbitmq
链接地址: https://pan.baidu.com/s/1CUxFJX8oMsRd9tPeIqLUmg
提取码: 9tbr
#haproxy+keepalived
链接地址:https://pan.baidu.com/s/1XSd9IlouPjp9V0e31tHPQw
提取码: spk8


二、安装

Rabbitmq集群

安装配置Rabbitmq集群,需要先安装单节点rabbitmq服务,单机版服务安装可参照此项地址《Rabbitmq 单节点安装
分别在上述三台服务器(80.31.102.15、80.31.102.18、80.31.102.22)上安装Rabbitmq单机服务。

1.MQ集群

  1. 更改主机信息
#1、修改主机名,三台主机都需要修改
hostnamectl set-hostname cd15
#2、修改/etc/hosts,新增如下内容
80.31.103.15	cd15
80.31.103.15	cd18
80.31.103.15	cd22
#3、三台主机的hosts文件都需要修改,重启完成后进行ping码测试,查看主机名是否相通
ping cd18
ping cd22
  1. 同步.erlang.cookie
#1、查看.erlang.cookie,源码安装的.erlang.cookie文件在用户的$HOME下,我这边编译安装erlang的用户是bph_zhdd
ls  -a	 /home/bph_zhdd/.erlang.cookie
#2、使用scp将主节点.erlang.cookie同步到其他两个节点
scp   -P 63322	/home/bph_zhdd/.erlang.cookie  bph_zhdd@:/home/bph_zhdd
#3、也可人工修改.erlang.cookie,先更改.erlang.cookie权限,再人工修改
chmod 600 .erlang.cookie 
  1. MQ集群搭建
#1、逐个启动节点,在三个服务器上分别执行
rabbitmq-server -detached

#2、将节点2(80.31.102.18以内存节点的方式加入节点1)
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@cd15
rabbitmqctl start_app
#3、查看集群节点状态
rabbitmqctl cluster_status

#3、将节点2(80.31.102.22以磁盘节点的方式加入节点1)
rabbitmqctl stop_app
rabbitmqctl reset
#默认为磁盘节点
rabbitmqctl join_cluster  rabbit@cd15
rabbitmqctl start_app
#3、查看集群节点状态
rabbitmqctl cluster_status

2.集群访问

  1. 使用google浏览器任一输入其中一台服务器ip:15672即可访问rabbitmq集群服务,集群访问如下图所示:
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值