RabbitMQ工作模式 - 主题模式(Topic 模式) --- 2022-04-03

RabbitMQ主题模式(Topic)跟路由模式类似,区别在于主题模式的路由匹配支持通配符模糊匹配,而路由模式仅支持完全匹配。

架构图

image.png

说明:
1、P 代表生产者 , X 代表交换机,红色Q1、Q2代表队列,C1、C2 代表消费者。
2、交换机类型为topic
3、topic交换机转发消息逻辑:将消息中的Routing key与该Exchange关联的所有Binding中的Routing key进行模糊匹配,如果匹配,则发送到绑定的Queue中。

提示:topic模式跟direct模式区别就是Routing key的匹配是否支持通配符模糊匹配,其他都一样。

topic支持的通配符如下:

  • # (井号) 匹配一个或多个单词
  • * (星号) 仅匹配一个单词

如上图:
队列Q1绑定的routing key = *.orange.*
队列Q2绑定的routing key = *.*.rabbitlazy.#

如果消息的routing key = “quick.orange.rabbit”, 则匹配Q1和Q2两个队列。

提示:如果routing key没有匹配任何队列,则丢弃消息,如果routing key等于空则跟fanout模式一样,直接转发消息给所有队列。

应用场景

跟路由模式一样,区别就是订阅条件更灵活,即Routing key的匹配规则更灵活。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容