RabbitMQ镜像集群搭建

RabbitMQ镜像集群搭建

本文主要记录RabbitMQ镜像集群的搭建方法。

RabbitMQ集群架构模式

  1. 主备模式(Warren)
    实现RabbitMQ的高可用集群,一般在并发和数据量不高的情况下,这种模型非常的好用且简单。简单来说就是集群至少有两台RabbitMQ服务器,这两台服务器一台在工作一台在闲置,当工作的服务器出现故障则切换到备份的服务器,以此来实现高可用。但是主备模式有其弊端,那就是负载不均衡,一台忙的忙死,一台没事儿干。在实际开发中,一般不使用主备模式,这会造成MQ资源的浪费。

  2. 镜像模式(Mirror)
    集群模式非常经典的就是Mirror镜像模式,保证100%数据不丢失(夸张了),在实际工作中也是用的最多的,并且实现集群非常简单。简单来说就是集群中所有的节点即每一台MQ的服务器数据都是同步的,并且所有的服务器都在工作,我们在集群的前面使用一个TCP代理(nginx/haproxy)来做负载均衡,如果一台MQ服务器出异常了,集群中其他的MQ服务器立马顶上。

  3. 远程模式(Shovel)
    远程模式是可以实现双活的一种模式,简称Shovel模式,所谓Shovel就是我们可以把消息进行不同数据中心的复制工作,我们可以跨地域的让两个MQ集群互联,该模式要求比较高,配置也比较复杂。在实际的开发中,基本不用,如果要搭建多个数据中心的集群一般使用第四种方式。

  4. 多活模式(Federation)
    这种模式也是实现异地数据复制的主流模式,因为Shovel模式配置比较复杂,所以一般来说实现异地集群都是使用双活或者多活模型来实现。简单来说双活模式就是一种可以容灾的机制,比如我们在北京和成都分别搭建两个MQ的集群,这两个集群数据都是同步的,当两个集群都可以访问的时候,可以采用距离或者响应速度选择最优的一个集群访问,当一个地方的集群出现宕机可以立马切换到另一个地方的集群。这种模型需要依赖RabbitMQ和Federation插件,可以实现持续可靠的AMQP数据通信,多活模式在实际配置与应用中都非常简单。

使用环境

  1. 两台腾讯云服务器,分别安装Centos7的Linux系统;
  2. 两台服务器均提前安装RabbitMQ服务器,具体安装教程看这里

Mirror集群搭建

  1. 修改两台服务器的hostname
    第一台:
    vim /etc/hostname
    mq1
    第二台:<

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值