资源干货第一时间送达!
今天安妮就给小伙伴们列举以下几个点:
说明:以下内容非强制或必学,做到了解即可。但是,最好熟练!
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全栈大联盟安妮。大家对微信博文有什么问题都可以@我留言,我会尽快回复大家。希望以后可以和各位成为技术道友!
安妮
领取专属 10元无门槛券
私享最新 技术干货