RabbitMQ 的工作流程

RabbitMQ 是一个消息中间件,实现了生产者消费者模型,可以用来接收、存储、转发消息。

专有名词介绍

要了解 RabbitMQ 的工作流程,我们需要先了解下面几个关键词:

1、Producer

生产者,即向 RabbitMQ 发送消息。

2、Consumer

消费者,即接收 RabbitMQ 中的消息。

3、Broker

可以看作是 RabbitMQ 的服务器,用来接收、发送消息。

4、Connection

连接,是 Producer、Consumer 与 Broker 建立 的 TCP 连接,这个连接是建立消息传递的基础。

5、Channel

信道,是 Connection 的抽象,一个 Connection 可以有多个 Channel,消息的接收、发送都是基于 Channel。

使用 Channel 可以将多个消息的发送与接收集中到一个 TCP 连接上,可以减少连接的建立与关闭,节约了网络资源。

6、Queue

队列,用来存储消息;

一个 Queue 可以被多个消费者订阅,一个消费者也可以订阅多个 Queue。

7、Exchange

交换机,当消息到达 RabbitMQ 时,经过对应的交换机,将消息存储到对应的 Queue 中;

一个交换机可以对应多个 Queue。

8、Virtual host

虚拟主机,为消息队列提供了逻辑上的隔离机制;

一个 BrokerServer 中可以有多个 Virtual host,当多个用户使用一个 RabbitMQ 时,会划分出多个虚拟主机,每个用户在自己的虚拟主机中创建对应的 Exchange 和 Queue。

RabbitMQ 的工作流程

1、Producer 在与 RabbitMQ Broker 建立 TCP 连接之后,会开启一个 Channel;

2、Producer 将消息通过 Channel 发送给 RabbitMQ Broker;

3、Broker 接收到消息之后,就会根据 Producer 将消息通过其对应的 Exchange 存放至 Queue;

4、若没有对应的 Queue,就会依据 Producer 的配置,将消息传发给 Producer 或 丢弃;

5、Consumer 与 RabbitMQ 建立连接之后,就可以获取对应的 Queue 中存放的消息,之后进行消费。

相关推荐
ACP广源盛1392462567341 分钟前
GSV6155@ACP# 搭配 AI 服务器、AI PC 完整适配方案
大数据·服务器·人工智能·分布式·单片机·嵌入式硬件
ZENERGY-众壹9 小时前
50MW分布式VPP接入实战:调度中心要求的1分钟频率如何不卡死API
运维·服务器·分布式·光伏运维
富士康质检员张全蛋9 小时前
Kafka的操作 生产消息
分布式·kafka
ClickHouseDB11 小时前
推出 CostBench:一个用于数据仓库成本性能的开放基准
大数据·分布式·spark
liulilittle11 小时前
麻将系统架构
服务器·网络·分布式·游戏·系统架构·通信
952361 天前
Redis - 应用
数据库·redis·分布式·缓存
衣乌安、1 天前
Redis 分布式锁与任务状态
数据库·redis·分布式
半夜修仙1 天前
RabbitMQ的推模式和拉模式
java·分布式·中间件·rabbitmq·github·java-rabbitmq
buligbulig1 天前
Hadoop环境安装和集群创建
大数据·hadoop·分布式
橙臣程1 天前
集群、分布式与微服务介绍
分布式·微服务·架构