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来广播各种状态和配置更新。

相关推荐
Data跳动22 分钟前
Spark内存都消耗在哪里了?
大数据·分布式·spark
Java程序之猿2 小时前
微服务分布式(一、项目初始化)
分布式·微服务·架构
来一杯龙舌兰2 小时前
【RabbitMQ】RabbitMQ保证消息不丢失的N种策略的思想总结
分布式·rabbitmq·ruby·持久化·ack·消息确认
节点。csn4 小时前
Hadoop yarn安装
大数据·hadoop·分布式
NiNg_1_2345 小时前
基于Hadoop的数据清洗
大数据·hadoop·分布式
隔着天花板看星星7 小时前
Spark-Streaming集成Kafka
大数据·分布式·中间件·spark·kafka
技术路上的苦行僧11 小时前
分布式专题(8)之MongoDB存储原理&多文档事务详解
数据库·分布式·mongodb
龙哥·三年风水11 小时前
workman服务端开发模式-应用开发-后端api推送修改二
分布式·gateway·php
小小工匠12 小时前
分布式协同 - 分布式事务_2PC & 3PC解决方案
分布式·分布式事务·2pc·3pc
Allen Bright12 小时前
Spring Boot 整合 RabbitMQ:从入门到实践
spring boot·rabbitmq·java-rabbitmq