【RabbitMQ】RabbitMQ的基本架构是什么?包括哪些核心组件?

RabbitMQ基于AMQP协议实现,由多个核心组件组成,确保消息的可靠传递。

Rabbit的架构图:

1.RabbitMQ的基本架构:

1.核心组件:

1.Producer(生产者): 发送消息到RabbitMQ。
2.Exchange(交换机) :接受生产者发送的消息,并根据路由规则将消息分发到队列。
3.Queue(队列) :存储消息,等待消费者消费。
4.Binding(绑定) :将交换机和队列关联起来,定义消息的路由规则。
5.Consumer(消费者) :从队列中获取消息并进行处理。
6.Connection(连接) :生产者或消费者与RabbitMQ之间的TCP连接。
7.Channel(信道):在连接的基础上创建的虚拟连接,用于执行具体的操作(如发送消息、消费消息)。

2.消息流转过程

2.1生产者发送消息:

  • 生产者通过连接和信道 ,将消息发送到交换机。
  • 消息 包含路由键和消息体。

2.2交换机路由消息:

  • 交换机根据路由键和绑定规则 ,将消息发送到对应的队列。

2.3队列存储消息:

  • 队列接收并存储消息,等待消费者消费。

2.4消费者消费消息:

  • 消费者通过连接和信道从队列中获取消息并处理。
  • 消费者 可以手动或自动发送确认(ACK)给RabbitMQ。

3.核心组件的详细说明:

3.1Producer(生产者)

  • 作用:发送消息到RabbitMQ。
  • 关键操作
    • 创建连接(Connection)。
    • 创建信道(Channel)。
    • 发送消息到交换机。

3.2Exchange(交换机)

  • 作用接收生产者发送的消息 ,并根据路由规则 将消息分发到队列。
  • 类型
    • Direct Exchange :根据路由键精确匹配队列。
    • Fanout Exchange :将消息广播到所有绑定的队列。
    • Topic Exchange :根据路由键的模式匹配队列。
    • Headers Exchange :根据消息头属性匹配队列。

3.3Queue(队列):

  • 作用存储信息,等待消费者消费。
  • 特性
    • 消息先进先出(FIFO)。
    • 设置持久化、优先级、TTL等属性。

3.4Binding(绑定)

  • 作用 :将交换机和队列关联起来,定义消息的路由规则。
  • 关键属性:
    • 路由键(Routing Key) :用于匹配消息和队列

3.5Consumer(消费者)

  • 作用:从队列中获取消息并进行处理。
  • 关键操作
    • 创建连接(Connection)。
    • 创建信道(Channel)。
    • 订阅队列并消费消息。

3.6Connection(连接)

  • 作用:生产者或消费者与RabbitMQ之间的TCP连接。
  • 特性
    • 一个连接可以创建多个信道。
    • 连接是长连接,避免频繁建立和断开连接的开销。

3.7Channel(信道)

  • 作用:在连接基础上创建的虚拟连接,用于执行具体的操作(如发送消息、消费消息)。
  • 特性
    • 一个连接可以创建多个信道
    • 信道是轻量级的,减少资源消耗。

4.总结:

  • Producer:发送消息。
  • Exchange:路由消息
  • Queue:存储消息。
  • Binding:定义路由规则。
  • Consumer:消费消息。
  • Connection:建立与RabbitMQ的连接。
  • Channel:执行具体操作的信道。
相关推荐
l1t11 小时前
DeepSeek 4.1总结的Tom Lane 谈塑造 Postgres 三十年历程的架构决策
开发语言·数据库·postgresql·架构
Dawson Zhu17 小时前
工作流与 Agent 的工程选型:从“控制权归属“看 LLM 应用架构
人工智能·语言模型·架构·aigc·agi
nvd1119 小时前
深入现代 Web 鉴权架构:网关统一代理 (Forward-Auth) vs 前端持有 JWT 的终极选型与边缘同域实践
前端·架构·状态模式
天空之城--19 小时前
Android行业一周动态:编码趋势与行业资讯汇总
android·性能优化·架构·kotlin·android jetpack
FII工业富联科技服务20 小时前
GPT-6 Astra发布,Agent的竞争开始从“会调用工具”走向“完成完整工作”
大数据·人工智能·gpt·架构·机器人·制造
这个DBA有点耶1 天前
VLDB 2026核心议题解读:当负载被AI改写,数据库的内核该往哪走?
数据库·架构·aigc
天远API1 天前
零信任架构实战:基于天远行驶OCR证识别构建自动化智能停车网关
运维·人工智能·架构·自动化
冗量1 天前
Pi Agent Chord 架构深度剖析
架构·agent·pi agent
好好生活中1 天前
把“信任”设计进系统:从胖东来的前置服务,看服务型组织的架构思维
架构
m0_587383001 天前
外卖CPS系统开发实战:从架构设计到运营落地全指南
java·spring·小程序·架构·需求分析