【RabbitMQ】集群搭建(镜像队列+负载均衡)

图解集群

一个好消息是,RabbitMQ这款消息队列中间件产品本身是基于Erlang编写,Erlang语言天生具备分布式特性(通过同步Erlang集群各节点的magic cookie来实现)。因此,RabbitMQ天然支持集群。这使得RabbitMQ本身不需要像ActiveMQ、Kafka那样借助ZooKeeper实现集群搭建。


先简单说两个问题,后面会详细介绍:

❶ 如何实现各个节点上的队列消息的同步?

我们只需在搭建好集群后,添加一个镜像队列的策略即可。

❷ 如何实现多个节点的透明代理?如何实现各个节点的负载均衡?

HAProxy可以解决这一切。


好了,下面看图理解镜像队列和HAProxy的作用:

在这里插入图片描述

 
 

集群搭建

刚刚说过,RabbitMQ兔子窝的集群搭建并不需要借助ZooKeeper,直接使用自身提供的命令即可实现。

下面,搭建一个伪集群进行演示(伪集群用端口号区分,真实集群用IP地址区分):

## 基本思路 ##
默认的rabbitmq节点(rabbit@ubuntu)开启在5672端口上,对应web控制台在15672端口上。
我们在演示的时候,不使用它,而是自己创建两个节点,并声明端口防止冲突:
rabbit1@ubuntu节点:5673/15673,作为master
rabbit2@ubuntu节点:5674/15674,作为slave


## 启动第一个节点 ##
RABBITMQ_NODE_PORT=5673 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15673}]" RAB
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值