第四章 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的情况下),无法看到节点信息,也无法对策略进行管理。 |
| 其他 | 无法登陆管理控制台,通常就是普通的生产者和消费者。 |

相关推荐
严肃小白兔13 小时前
Cloudflare Durable Objects 支持自动重试:分布式调用如何避免重复执行?
分布式
Pniubi14 小时前
基于RabbitMQ实现延迟队列
rabbitmq
方方洛14 小时前
ray教程-27-附录F-RayClient与runtime_env与多语言
人工智能·分布式·机器学习
方方洛2 天前
ray教程-25-附录E-端到端实战案例
人工智能·分布式·机器学习
一条泥憨鱼3 天前
【消息队列】ACK确认了什么:消息队列可靠投递的完整链路
java·后端·kafka·消息队列·rabbitmq
迅翼SwiftWing3 天前
编队系列(二)|固定翼如何依靠邻居信息保持队形?一致性控制、通信拓扑与分布式仿真实现,附仿真代码
分布式
ly76893 天前
幂等消费者与重试副作用:Kafka 端点接入时的去重边界
分布式·kafka·linq·apache camel·幂等消费者·重试副作用·去重边界
qq_452396233 天前
第三篇:《从 ZooKeeper 到 KRaft 的迁移实战:前置条件、三阶段流程与回滚策略》
分布式·zookeeper·云原生
真上帝的左手4 天前
30. 技术专题-‌应用框架组件-关系型数据库-MySQL-Mybatis
数据库·分布式·mysql·中间件·mybatis
程序猿乐锅4 天前
万字详解Single-flight(单飞模式)
java·开发语言·分布式·后端·学习·single-flight