必备新版RabbitMQ教程-高性能消息队列RabbitMQ课程介绍-小滴课堂-14

本教程详细介绍了RabbitMQ的高可用集群配置,包括普通集群和镜像集群模式。普通集群仅共享元数据,不适合高可用场景,而镜像集群确保队列在多个节点同步,实现高可用,但增加网络带宽开销。通过实例演示了集群搭建、SpringBoot项目配置以及策略设置,确保在节点故障时仍能保证消息的可靠传递。
摘要由CSDN通过智能技术生成

第十四章 高级特性-Rabbitmq高可用集群实战讲解
第1集 RabbitMQ高可用普通集群模式介绍
简介:讲解RabbitMQ高可用普通集群模式介绍

背景

掌握了消息的可靠性投递,还有消费,假如mq节点宕机了怎么办?

因此需要做多节点集群配置

RabbitMQ集群模式一介绍

默认的集群模式, 比如有节点 node1和node2、node3,三个节点是普通集群,但是他们仅有相同的元数据,即交换机、队列的结构;案例:消息只存在其中的一个节点里面,假如消息A,存储在node1节点,消费者连接node1个节点消费消息时,可以直接取出来;但如果 消费者是连接的是其他节点那rabbitmq会把 queue 中的消息从存储它的节点中取出,并经过连接节点转发后再发送给消费者问题:假如node1故障,那node2无法获取node1存储未被消费的消息;如果node1持久化后故障,那需要等node1恢复后才可以正常消费如果ndoe1没做持久化后故障,那消息将会丢失这个情况无法实现高可用性,且节点间会增加通讯获取消息,性能存在瓶颈项目中springboot+amqp里面需要写多个节点的配置,比如下面spring.rabbitmq.addresses = 192.168.1.1:5672,192.168.1.2:5672,192.168.1.3:5672该模式更适合于消息无需持久化的场景,如日志传输的队列erlang.cookie是erlang的分布式token文件,集群内各个节点的erlang.cookie需要相同,才可以互相通信

注意:集群需要保证各个节点有相同的token令牌

普通集群

第2集 RabbitMQ高可用mirror镜像集群模式介绍
简介:讲解RabbitMQ高可用mirror镜像集群模式介绍

镜像集群(大厂基本使用这个方式)

队列做成镜像队列,让各队列存在于多个节点中和普通集群比较大的区别就是【队列queue的消息message 】会在集群各节点之间同步,且并不是在 consumer 获取数据时临时拉取,而普通集群则是临时从存储的节点里面拉取对应的数据结论:实现了高可用性,部分节点挂掉后,不影响正常的消费可以保证100%消息不丢失,推荐3个奇数节点,结合LVS+Keepalive进行IP漂移,防止单点故障缺点:由于镜像队列模式下,消息数量过多,大量的消息同步也会加大网络带宽开销,适合高可用要求比较高的项目过多节点的话,性能则更加受影响

注意:集群需要保证各个节点有相同的token令牌

erlang.cookie是erlang的分布式token文件,集群内各个节点的erlang.cookie需要相同,才可以互相通信

还有其他通过插件形成

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值