RabbitMQ的高可用机制

通过搭建集群保证高可用

RabbitMQ的集群模式:

普通集群,镜像集群(开发时用的多),仲裁集群

普通集群(标准集群)会在各个节点间共享部分数据(交换机和队列元信息),但不包含队列里的消息;如果队列不在该节点,会从数据所在节点传递到当前节点并返回;当所在节点宕机,队列中的消息就会丢失。

镜像集群:本质是主从模式。

镜像集群特征如下:

交换机、队列、队列中的消息会在各个MQ的镜像节点之间同步备份。

创建队列的节点称为该队列的主节点,备份的其他节点叫该队列的镜像节点。

一个队列的主节点可能是另一个队列的镜像节点。

所有操作丢失主节点完成,然后同步给镜像节点(不然数据不就不一致了吗)

主节点宕机后,镜像节点会替代它成为新的主节点。保证了高可用性

数据还没有同步完成,主节点宕机了,就会造成数据丢失。所以采用仲裁队列。

仲裁集群

主从同步采用的Raft协议,强一致性。

相关推荐
孪生质数-6 分钟前
AI 应用实践篇——让大模型真正开始工作
linux·运维·服务器·人工智能·深度学习·语言模型·llama
2301_7779983416 分钟前
Linux线程同步与互斥(三):信号量与环形队列实现生产者消费者模型
linux·c语言·c++
zcmodeltech30 分钟前
智能矿井沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的感知-传输-控制一体化方案
服务器·数据库·分布式·stm32·单片机·嵌入式硬件
实心儿儿1 小时前
Linux —— 应用层协议HTTP
linux·网络·http
wWYy.2 小时前
基于Raft分布式Kv存储:RPC调用
分布式·rpc
小张同学a.2 小时前
LAMP架构2
linux·运维·网络·架构·负载均衡
千河殇 多想和她2 小时前
如何在Reaonix中使用CodeGraph以及CodeGraph效果实测经验分享
linux·运维·ubuntu
笨蛋不要掉眼泪2 小时前
RabbitMQ消息队列:SpringAMQP
java·分布式·rabbitmq
躺不平的理查德2 小时前
CMAKE备忘录
linux·运维·服务器
发量惊人的中年网工2 小时前
SD-WAN如何赋能工业物联网?打造工厂网络远程连接和数据传输新方案
运维·网络·分布式·物联网