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

发布于:2024-07-01 ⋅ 阅读:(11) ⋅ 点赞:(0)

自己的飞书文档:‌‍‬‍‬‍​‍‬​⁠‍​​​‌⁠​​‬‍​​​‬‬‌​‌‌​​​​​​‍​‍​‌⁠‬​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来广播各种状态和配置更新。