第四章 RabbitMQ消息队列

消息队列

两种工作模式

Point-to-Point

  • 一方发送消息,另一方接收

Pub/Sub

  • 即发布/订阅模式,消费者可以订阅一个或多个主题并使用该主题中的所有消息

缺点

  • 系统可用性降低
  • 系统复杂性提高
  • 数据一致性无法保证

RabbitMQ

RabbitMQ相关术语

  • 生产者:产生消息的进程或服务
  • 消费者:接收消息的进程或服务
  • 队列:RabbitMQ 是消息队列中间件,而真正储存消息数据的就是队列,队列可以有很多。
  • 交换器:类似于网络设备交换机,它可以根据不同的关键字,将消息发送到不同的队列。
  • 虚拟主机:虚拟主机提供了资源的逻辑分组和分隔,每一个虚拟主机本质上是 mini 版的 RabbitMQ 服务器

RabbitMQ架构

tags角色

|----------------------------|-----------------------------------------------------------------------------|
| 角色 | 说明 |
| 超级管理员(administrator):guest | 可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。 |
| 监控者(monitoring) | 可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等) |
| 策略制定者(policymaker) | 可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息。 |
| 普通管理者(management) | 仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。 |
| 其他 | 无法登陆管理控制台,通常就是普通的生产者和消费者。 |

相关推荐
城管不管21 小时前
重生——第九次面试2026.8.13某车一面
分布式·ai·面试·职场和发展·rabbitmq
apgk121 小时前
基于Canal实现mysql数据同步到消息队列(RabbitMQ/Kafka)详细操作教程
docker·kafka·rabbitmq
Rain的Java大神之路1 天前
MQ重复消费问题怎么解决
java·经验分享·后端·面试·架构·rabbitmq·rocketmq
ly76891 天前
分布式一致性算法详解:从 2PC、3PC 到 Paxos、Raft、ZAB
分布式·算法
珠***格1 天前
通信链路全打通:西格电力四可装置的 4G/5G + 加密认证技术详解
大数据·数据库·分布式·5g·架构·能源
ACP广源盛139246256731 天前
WAIC2026 国产算力浪潮@ACP#YLB3118 在算力矩阵中的存储定位与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
蜀道山老天师1 天前
ZABBIX分布式监控Proxy应用实践
分布式·zabbix
liudashuang20171 天前
Kafka Producer 隐藏深坑:Sender 线程自阻塞(自死锁)导致 BufferExhaustedException 完整复盘
java·分布式·kafka·linq
hard_hot1 天前
RabbitMQ异步下单架构设计
java·rabbitmq·java-rabbitmq
rustfs1 天前
GitLab 如何与 RustFS 集成?
分布式·rust·gitlab