RabbitMQ 核心概念

1.RabbitMQ 工作流程

RabbitMQ 是一个 消息中间件,是一个生产者 消费者模型;负责接收,存储并转发消息

1.1 Producer 和 Consumer

Producer:生产者,是 RabbitMQ Server 的客户端,向RabbitMQ 发送消息

发送的消息通常是一个带有一定业务的数据,例如JSON字符串,消息可以带有标签,RabbitMQ 会根据标签进行路由,将消息发送给感兴趣的消费者

Consumer:消费者,是RabbitMQ Server 的客户端,从RabbitMQ 接收消息

消费者连接到 RabbitMQ 服务器,就可以消费消息了,消费者只会接收到消息,并不知道消息的生产者是谁;

Broker:是 RabbitMQ Server 负责接收和发送消息

Broker 可以看作是一个中转站

1.2Connection 和 Channel

Connection:是一个 TCP 连接,这个连接是建立消息传递的基础,负责传输客户端和服务器之间的所有数据和控制信息

Channel:通道,Channel 是在 Connection 之上的一个抽象层,在RabbitMQ 中 一个 TCP连接可以有多个 Channel,每个Channel 都是独立的虚拟连接,消息的发送和接受 都是基于 Channel的(Channel 的出现主要是为了减少 建立 和关闭 TCP连接的开销)

1.3 Virtual host

虚拟主机,为消息队列提供了一个逻辑上的隔离机制,对于 RabbitMQ 而言,一个 BrokerServer上可以存放多个 Virtual host ,当多个不同的用户 使用同一个 RabbitMQ 时,就可以划分出多个 虚拟主机,每个用户在自己的 虚拟主机创建 exchange 和 queue;

1.4 Queue

队列,时 RabbitMQ 的内部对象,用于存储消息,多个消费者可以订阅同一个 队列

1.5Exchange

交换机,消息到达 broker 后 exchange 负责接收生产者发送的消息(不保存消息),并根据规则将消息路由到一个或多个 Queue 中

1.6 RabbitMQ 工作流程

1.生产者生产一条消息

2.生产者 连接 broker ,建立一个 连接,开启一个信道

3.生产者声明一个 交换机,路由到对应队列

4.生产者 声明一个队列,存放消息

5.生产者发送消息到 broker

6.broker 接收消息,并放到对应的 队列,如果未找到就选择丢弃或者退回,找到对应队列就存放到对应队列中,队列向绑定的消费者推送消息;

1.7 AMQP

是一种 高级消息队列协议,定义了怎么发送消息,怎么存消息,怎么取消息,不论写什么语言,都得按照这个规矩来;

相关推荐
Evand J16 小时前
【雷达跟踪代码介绍】基于matlab卡尔曼滤波器雷达多目标跟踪(双雷达 多目标 分布式融合)
分布式·matlab·目标跟踪·多目标跟踪·雷达跟踪
zz07232018 小时前
Seata ——微服务分布式事务
分布式·微服务·架构·seata
小江的记录本18 小时前
【分布式】分布式系统核心知识体系:CAP定理、BASE理论与核心挑战
java·前端·网络·分布式·后端·python·安全
QC·Rex18 小时前
消息队列架构设计 - Kafka/RocketMQ/RabbitMQ 深度对比与实战
kafka·rabbitmq·rocketmq
Roselind_Yi19 小时前
云计算实验实操|Hadoop伪分布式部署+MapReduce编程实践(超详细图文版)
大数据·hadoop·经验分享·笔记·分布式·数据挖掘·云计算
是垚不是土19 小时前
Kafka 故障排查周期长?试试 Kdoctor
linux·运维·分布式·ai·kafka·运维开发
小江的记录本19 小时前
【分布式】分布式一致性协议:2PC/3PC、Paxos、Raft、ZAB 核心原理、区别(2026必考Raft)
java·前端·分布式·后端·安全·面试·系统架构
小江的记录本21 小时前
【分布式】分布式核心组件——分布式锁:Redis/ZooKeeper/etcd 实现方案(附全方位对比表)、优缺点、Redlock、时钟回拨问题
java·网络·redis·分布式·后端·zookeeper·架构
好家伙VCC21 小时前
**发散创新:用Rust实现基于RAFT共识算法的轻量级分布式日志系统**在分布式系统中,**一致性协议**是保障数据可靠
java·分布式·python·rust·共识算法
小江的记录本21 小时前
【分布式】分布式核心组件——分布式ID生成:雪花算法、号段模式、美团Leaf、百度UidGenerator、时钟回拨解决方案
分布式·后端·算法·缓存·性能优化·架构·系统架构