RabbitMQ-交换机的类型以及流程图练习-01

自己的飞书文档:‌‍‬‍‬‍​‍‬​⁠‍​​​‌⁠​​‬‍​​​‬‬‌​‌‌​​​​​​‍​‍​‌⁠‬​RabbitMQ的流程图和作业 - 飞书云文档 (feishu.cn)

作业

图片一张 画rabbit-mq 消息发送流程图 基于绑定关系参考发送流程参考 ,

绑定关系参考的exchange和routing-key和queue画到图中

体会exchange routing-key queue exchange 不同类型 Direct 和 fanout 的区别

老师给我们的参考图:

绑定关系参考

|---------------------|--------|-------------|------------------|
| exchange | type | routing-key | queue |
| test-add-exchange-0 | direct | t-a-q-0 | test-add-queue-0 |
| | | t-a-q-1 | test-add-queue-1 |
| | | t-a-q-2 | test-add-queue-2 |
| test-add-exchange-1 | fanout | t-a-q-3 | test-add-queue-3 |
| | | t-a-q-4 | test-add-queue-4 |
| | | t-a-q-5 | test-add-queue-5 |

解答

原图地址 : RabbitMq流程图| ProcessOn免费在线作图,在线流程图,在线思维导图

参考文档

什么是Exchange_云消息队列 RabbitMQ 版( RabbitMQ)-阿里云帮助中心

Direct Exchange

总结: Message在生产者生产过程中就创建了Routing Key

Direct Exchange 是根据Routing Key 将交换机的信息传递给对应的队列,属于完全匹配

  • 路由规则

  • Direct Exchange根据Routing Key完全匹配的规则路由消息。

  • 使用场景

  • Direct Exchange适用于通过简单字符标识符区分消息的场景。Direct Exchange常用于单播路由。

Topic Direct

总结: Topic Exchange是通过 队列中绑定的Routing Key模糊(通配符)绑定从而匹配多个消息

  • 路由规则

  • Topic Exchange根据Routing Key通配符匹配的规则路由消息。Topic Exchange支持的通配符包括星号(*)和井号(#)。星号(*)代表一个英文单词(例如cn)。井号(#)代表零个、一个或多个英文单词,英文单词间通过英文句号(.)分隔,例如cn.zj.hz。

  • 使用场景

  • Topic Exchange适用于通过通配符区分消息的场景。Topic Exchange常用于多播路由。例如,使用Topic Exchange分发有关于特定地理位置的数据。

Fanout Exchange

总结: FanOut 会忽略Routing Key 向所有的队列传送消息

  • 路由规则

  • Fanout Exchange忽略Routing Key的匹配规则将消息路由到所有绑定的Queue。

  • 使用场景

  • Fanout Exchange适用于广播消息的场景。例如,分发系统使用Fanout Exchange来广播各种状态和配置更新。

相关推荐
踩坑小念9 小时前
秒杀场景下如何处理redis扣除状态不一致问题
数据库·redis·分布式·缓存·秒杀
笃行客从不躺平12 小时前
Token 复习
java·分布式·spring cloud
u01040583614 小时前
分布式淘客系统的配置中心设计:Nacos在多环境配置管理的应用
分布式
迎仔15 小时前
01-Hadoop 核心三剑客通俗指南:从“单机搬砖”到“包工队”
大数据·hadoop·分布式
ALex_zry15 小时前
分布式缓存与微服务架构的集成
分布式·缓存·架构
ALex_zry16 小时前
分布式缓存安全最佳实践
分布式·安全·缓存
多恩Stone18 小时前
【3DV 进阶-11】Trellis.2 数据处理与训练流程图
人工智能·pytorch·python·算法·3d·aigc·流程图
川西胖墩墩19 小时前
新手在线画泳道图PC端简单操作快速做出标准化流程图表
学习·流程图·敏捷流程
陌上丨19 小时前
分布式锁的特性是什么?如何实现分布式锁?
分布式
yangSnowy19 小时前
MySQL 分布式锁实现方案
数据库·分布式·mysql