RabbitMQ 使用的AMQP模型解析

本文介绍了RabbitMQ基于AMQP协议的通信模型,重点解析了Exchange的四种类型(Direct, Fanout, Topic, Headers)及其关键属性。此外,还详细阐述了Queue的重要属性及绑定规则,以及消费者在Push和Pull模式下的消息处理。AMQP的确认机制确保了消息传递的可靠性,包括死信队列的处理。" 114302542,10297047,Java JPanel绘图:paintComponent与paint方法解析,"['Java GUI', '图形用户界面', '绘图', '事件处理', '组件']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 RabbitMQ 是采用AMQP协议进行通信的。比起简单的TCP/UDP之类的通信,该模型更为复杂,功能也更为强大。

最近项目中用到RabbitMQ比较多,就比较系统深入的过来看看它的具体方式。

内容基本上从官网文档借鉴。


Publish path from publisher to consumer via                              exchange and queue


在这个模型中,publisher将消息首先发布给Exchange,由Exchange负责发送到一个或多个Queue中,发送的规则称为binging。最后发送给consumer或者consumer来pull。感觉这个概念就像寄送快递,发件人只需要和快递员打交道,告诉要发什么地址,甚至多个地址。派送则由快递公司承担。最后用户既可以选择送货上门,也可以选择自己去取件。

为了保证传递的可靠性,AMQP中有一个确认机制。consumer在收到快递后,要签个字,快递公司才会把订单从系统中撤掉。

如果消息无法送抵,则可以回退给publisher,或者扔掉,或者放入旧货堆(dead letter queue)


exchange:

Exchange作为AMQP中重要的一个中间实体,其交换类型(exchange type), 共有以下4种:

Direct, Fanout, Topic, Headers

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值