当前位置:   article > 正文

必备新版RabbitMQ教程-高性能消息队列RabbitMQ课程介绍-小滴课堂-14_erlang.cookie干什么用

erlang.cookie干什么用

第十四章 高级特性-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需要相同,才可以互相通信

还有其他通过插件形成的集群,比如Federation集群,大家有兴趣可以去了解下

第3集 综

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/716756
推荐阅读
相关标签
  

闽ICP备14008679号