RabbitMQ:相关概念
RabbitMQ是基于AMQP协议的。
1.AMQP核心概念
Server:又称Broker,接受客户端的连接,实现AMQP实体服务。
Connection:连接,应用程序与Brocker的网络连接。
Channel:网络信道,几乎所有的操作都在Channel中进行,Channel是进行消息读写的通道,客户端可以建立多个Channel,每个Channel代表一个会话任务。
Message:消息,服务器和应用程序之间传送的数据,由properties和body组成。properties可以对消息进行修饰,body就是消息体内容。
Virtual host:虚拟地址,用于进行逻辑隔离,最上层的消息路由,一个Virtual host里面可以由若干个Exchange和Queue,但是同一个Virtual host不能包含有相同名称的Exchange和Queue。
Exchange:交换机,接收消息,根据路由键转发消息到绑定的队列。
Binding:Exchange和Queue之间的虚拟连接,binging中可以包含routing key。
Routing key:一个路由规则,虚拟机可用它来确定如何路由一个特定消息。
Queue:消息队列,保存信息并将他们转发给消费者。
AMQP协议模型:
2.RabbitMQ整体架构图
3.消息发布接收流程
发送消息:
1.生产者和Broker建立TCP连接。
2.生产者和Broker建立通道。
3.生产者通过通道消息发送Broker,由Exchange将消息进行转发。
4.Exchage将消息转发到指定的Queue(队列)
接收消息:
1.消费者和Broker建立TCP连接
2.消费者和Broker建立通道
3.消费者监听指定的Queue
4.当有消息到达Queue时Broker默认将消息推送到消费者
5.消费者接收到消息
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix