课程学习--Rabbit MQ(第1期):基础概念

📅 2026/8/27 9:38:34
课程学习--Rabbit MQ(第1期):基础概念
RabbitMQ 核心专有名词解释BrokerRabbitMQ 服务实例整体就叫 Broker。简单理解RabbitMQ 服务器本身就是一个 Broker。Broker 内部包含Exchange (交换机)、Queue (队列)、VirtualHost (虚拟主机)、连接、信道、Binding 绑定关系全部都在 Broker 里面。安装启动rabbitmq‑server跑起来的这个服务进程 Broker。客户端代码生产者、消费者通过网络连接到 Broker。VirtualHost (vhost 虚拟主机)Broker 内部的逻辑隔离单元类似数据库的库。一个 Broker 可以多个 vhost每个 vhost 下面有独立的 exchange、queue、binding互不干扰。连接时要指定 vhost默认/。Exchange 交换机接收生产者发来的消息不存消息只负责路由转发消息到队列。生产者不会直接发送消息到队列消息先发给 Exchange。四种常用类型direct精准匹配routing-key 完全相等才投递topic通配符模糊匹配*#fanout广播发给所有绑定的队列忽略 routing‑keyheaders根据消息头匹配很少用Queue 队列真正存储消息的地方。消息最终落到队列。消费者从队列拿消息。属性持久化、排他、自动删除等。Binding 绑定⭐Exchange 和 Queue 之间的桥梁关系是保存在 Broker 上的路由元数据。绑定操作可由生产者、消费者或者管理后台执行绑定建立后就生效绑定的时候可以指定 binding‑key。消息流转逻辑生产者发送消息至 Exchange 时需要主动传入 routing‑keyExchange 根据自身类型 绑定关系上定义的 binding‑key做匹配判断最终把消息投递到对应的 Queue。两个核心 Key 场景区分routing‑key生产者发送消息时携带的 key属于消息的属性binding‑key创建绑定关系时设置的匹配键属于交换机‑队列之间绑定规则的一部分direct 模式下两者一般写一样topic 模式支持通配符写 binding‑key。Connection 连接TCP 物理连接客户端和 Broker 之间建立的 TCP 连接开销大一般一个应用少量连接。Channel 信道连接内部的轻量逻辑通道。绝大多数业务操作都在 channel 上做。一个 Connection 可以开很多 Channel每个线程用一个 Channel复用 TCP 连接减少开销。Message 消息内容体 属性routing-key、headers、持久化标记等。生产者 Producer发送消息的应用程序消息发送给 Exchange。消费者 Consumer监听队列从 Queue 获取消息处理。