RabbitMQ经典知识

消息可靠性投递

消息的可靠性投递主要是保证消息投递的每一个环节都要成功
RabbitMQ整个消息投递路径为
Producer-》Broker-》Exchange-》Queue-》Consumer

生产者到交换机

Producer发送到Exchange的过程依靠RabbitMQ的Confirm机制来确保可靠性
生产者投递消息到了Broker里的Exchange交换机,会给生产者一个confirmcallback,交换机收到消息后会调用回调函数
spring.rabbitmq.publisher-confirms:true

交换机到队列

Exchange交换机到Queue队列这段消息的可靠性投递需要依靠Return机制来保障
spring.rabbitmq.publisher-returns:true
使用ReturnCallback设置退回函数,当消息从Exchange到Queue失败后,则会将消息退回给Producer,并执行回调函数ReturnMessage

队列持久化存储

(1)将队列属性设置为Durable,即可将数据持久化到硬盘上

队列高可用

(2)镜像队列+集群模式
ha-mode=all(所有节点都存储数据)
ha-sync-mode=automatic(新加入节点同步master队列全部数据)

数据一致性

事务机制 Or Confirm机制(Return机制)+持久化+仲裁队列(分区时保障数据一致性)
posted @ 2024-04-08 17:53  付同學  阅读(3)  评论(0编辑  收藏  举报