首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java全栈大联盟RabbitMQ系列之集群架构

资源干货第一时间送达!

今天安妮就给小伙伴们列举以下几个点:

说明:以下内容非强制或必学,做到了解即可。但是,最好熟练!

1、主备模式

2、主备模式Haproxy配置

3、远程模式

4、远程模式Shovel配置

1、主备模式

主备模式:实现RabbitMQ的高可用集群。一般在并发和数据量不高的情况下,这种模式非常的好用和简单。主备模式也称为Warren模式。它提供了一个主/备方案,在主节点产生故障宕机时,能够实现自动切换,由原来的主节点切换到现在的备节点。备用节点继续提供读写服务,此时备用节点是充当主节点的角色了。若主节点后期又加入到集群中,这个时候之前的主节点充当的是备节点的角色了。

主备和主从是有区别的。

主备:主节点是可以提供读写的,从节点是不提供任何读写的,只是一个备用的服务。

主从:主节点是可以提供读写的,从节点是可以提供只读的功能。

2、主备模式HaProxy配置

利用HaProxy做的主备切换。当主节点挂点时,HaProxy会自动进行切换,将备份节点升级为主节点。

HaProxy核心的配置如下:

HaProxy是一个TCP级别的代理。

listen rabbitmq_cluster

表示监听一个主备集群,集群名称为rabbitmq_cluster

bind 0.0.0.0:5672

表示绑定一个TCP端口,默认为5672

mode tcp

使用tcp简单轮询模式

balance roundrobin

主节点使用的随机

server bhz76 192.168.11.76:5672 check inter 5000 rise 2 fall 3

主节点

server bhz77 192.168.11.77:5672backupcheck inter 5000 rise 2 fall 3

备用节点

备注:rabbitmq集群节点配置,backup表示这是一个备用节点。

#inter 每隔5秒对mq集群做健康检查

rise 2表示2次正确证明服务器可用

fall 3表示,3次失败证明服务器不可用,并且配置主备机制。

3、远程模式

远程模式是RabbitMQ比较早期的一种集群架构模式。

远程模式可以实现双活的一种模式,简称Shovel模式。所谓Shovel模式,就是我们可以把消息进行不同数据中心的复制工作,可以跨地域的让两个mq集群互联。

如上图,用户在某地点下一个订单,下订单后发现,第一个下订单的地方,服务器集群压力特别大,可能当前正是销售的旺季,导致当前这个rabbitmq集群负载过高。

我们可以为当前rabbitmq集群设置阈值,如果超过这个阈值,就将消息转发到另外一个rabbitmq集群中心,对消息进行数据处理。

如图,左边集群中心,有两个队列,一个是正常的队列,一个是backup的队列。如果发现正确队列服务压力过大,那么交换机会将消息路由到backup队列,而这个backup队列和另一端rabbitmq集群组件产生了server的联系,然后在远端rabbitmq集群中心对这条消息进行消费。

4、远程模式Shovel配置

Shovel集群的配置:

1、启动rabbitmq插件,命令如下:

rabbitmq-plugins enable amqp_client

rabbitmq-plugins enable rabbitmq_shovel

2、创建rabbitmq.config文件:

touch /etc/rabbitmq/rabbimq.config

3、添加rabbitmq_config配置内容

4、源服务器和目的服务器都使用相同的配置文件rabbitmq.config

觉得有用就转发分享一下吧

精彩内容

看完本文有收获?请转发分享给更多人

关注「Java全栈大联盟」,提升大神技能

欢迎新旧粉丝(撒花),我是Java全栈大联盟安妮。大家对微信博文有什么问题都可以@我留言,我会尽快回复大家。希望以后可以和各位成为技术道友!

安妮

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190127G081CG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券