介绍

发送到类型是topic交换机的消息的routing_key不能随意写,必须满足一定的要求,它必须是一个单词列表,以点号分隔开。这些单词可以是任意单词,比如说: “stock.usd.nyse” , “nyse.vmw”,"quick.orange.rabbit"这种类型的。当然这个单词列表最多不能超过255个字节。

  1. 在这个规则列表中,其中有两个替换符:

    • * 可以代替一个单词
    • # 可以代替零个或多个单词

匹配案例

下图绑定关系如下:

Q1绑定的是:中间带orange的三个单词的字符串:*.orange.*

Q2绑定的是:最后一个单词是rabbit的单个单词:*.*.rabbit,第一个单词是lazy的多个单词:lazy.#

数据接收情况如下:

quick.orange.rabbit:被队列Q1Q2接收到
quick.orange.fox:被队列Q1接收到
lazy.brown.fox:被队列Q2接收到
lazy.pink.rabbit:虽然满足队列Q2的两个绑定但是只会被接收一次
quick.orange.male.rabbit:四个单词不匹配任何绑定会被丢弃

结论

  1. 当一个队列绑定键是#,那么这个队列将接收所有数据,就有点像fanout了
  2. 如果队列绑定键当中没有#和*出现,那么该队列绑定类型就是direct了

RabbitMQ Topic交换机的作用相关推荐

  1. RabbitMQ Topic交换机(生产者)

    /* * 声明主题交换机及相关队列 * 消费者C1 * */ public class ReceiveLogsTopic01 {//交换机名称public static final String EX ...

  2. RabbitMQ Topic交换机(结果成功)

    public class EmitLogTopic {//交换机的名称public static final String EXCHANGE_NAME = "topic_logs" ...

  3. Exchange(交换机)的作用以及类型

    一. Exchange(交换机)的作用    在RabbitMQ中,生产者发送消息不会直接将消息投递到队列中,而是先将消息投递到交换机中,在由交换机转发到具体的队列,    队列再将消息以推送或者拉取 ...

  4. RabbitMq topic

    目录 概述 代码 结果 概述 上篇direct必须是生产者发布消息指定的routingKey和消费者在队列绑定时指定的routingKey完全相等时才能匹配到队列上.topic与direct不同,可以 ...

  5. RabbitMQ的交换机类型和工作模式

    RabbitMQ的交换机类型有四种 1.direct 直流交换机: 根据消息的路由键routingkey,将消息以完全匹配的方式路由到指定的队列中. 这里的匹配指的是消息本身携带的路由键和队列与交换机 ...

  6. RabbitMQ之交换机的讲解

    一.交换机 1.Exchange 在RabbitMQ中,生产者发送消息不会直接将消息投递到队列中,而是先将消息投递到交换机中, 在由交换机转发到具体的队列, 队列再将消息以推送或者拉取方式给消费者进行 ...

  7. 交换机工作原理_交换机的作用是什么?

    交换机有多个端口,每个端口都具有桥接功能,可以连接一个局域网或一台高性能服务器或工作站.实际上,交换机有时被称为多端口网桥.那么,交换机的作用是什么?交换机的功能及工作原理是什么?接下来我们就一起来看 ...

  8. 网络交换机的作用有哪些?

    现如今,随着通信业的发展以及国民经济信息化的推进,网络交换机市场呈稳步上升态势,以太网技术已成为当今最重要的一种局域网组网技术,网络交换机也就成为了最普及的交换机.那么,网络交换机的作用有哪些呢?接下 ...

  9. 光纤交换机是什么,光纤交换机的作用是什么?

    随着网络的发展,先后出现了交换机.路由器.电话光端机等网络设备,在数据存储网络中,光纤交换机起到了重要的作用.今天飞畅科技的小编来为大家介绍下光纤交换机及光纤交换机的作用,一起来看看吧! 光纤交换机的 ...

最新文章

  1. 帅气逼人的Redis可视化工具
  2. Swift反射API及其用法
  3. 学习笔记 ACCESS 延迟注入
  4. overflow与min-width
  5. 与众不同 windows phone (28) - Feature(特性)之手机方向, 本地化, 应用程序的试用体验, 系统主题资源, 本地数据的加密解密...
  6. 分布式架构springmvc+springboot+springcloud+redis
  7. 有关camshift的知识点
  8. @总结 - 4@ 多项式的多点求值与快速插值
  9. k8s使用kubectl命令部署nginx并以nodeport方式暴露端口
  10. C语言指向结构体的指针的例子
  11. 部署 Job (第三部分)
  12. urllib.request.urlretrieve()函数
  13. 查看电脑端口占用情况
  14. 有什么软件可以把视频上下拼接在一起?
  15. fastDFS原理及环境搭建
  16. power BI电商案例分析
  17. Squid中文权威指南-第10章 与其他Squid会话
  18. 【7gyy】支招:自检性能搞定网速慢电脑卡的问题
  19. 11n/11ac/11ax 速率速查表
  20. 【DVE命令报错,yum本地源配置】error while loading shared libraries:libtermcap.so.2

热门文章

  1. 长脖子鹿省选模拟赛 [LnOI2019SP]快速多项式变换(FPT)
  2. .net core ef动态orderby
  3. java笔记(3):String(2)
  4. GDB 远程调试Linux (CentOS)
  5. 错误:C:\Windows\System32\ssleay32.dll: Can't load IA 32-bit .dll on a AMD 64-bit
  6. zigbee zcl规范及其协议栈实现3 读取服务器端属性值
  7. network packet
  8. 求一个整数n对16求商和余数
  9. 【REST】基于RESTful服务端的客户端实现(HttpClient、RestTemplate、HttpURLConnection)
  10. 【大话数据结构算法】直接插入排序