RabbitMQ六种工作模式—主题模式

本文介绍了RabbitMQ的主题模式,其中routing_key必须遵循特定规则,如单词列表用点号分隔。主题模式中,*(星号)可替代一个单词,#(井号)可替代零个或多个单词。通过示例展示了不同队列如何根据绑定规则接收消息。
摘要由CSDN通过智能技术生成

1.主题模式下

        发送到类型是 topic 交换机的消息的 routing_key 不能随意写,必须满足一定的要求,它必须是一个单词列表,以点号分隔开。这些单词可以是任意单词,比如:

        "stock.usd.nyse","nyse.vmw"

        "quick.orange.rabbit"等这些类型

        当然这个单词列表最多不能超过 255 个字节

        在这个规则列表中,其中有两个替换符是需要注意的,*(星号)可以代替一个单词,#(井号)可以替代零个或多个单词。

2.匹配案例

        Q1-->绑定的是 中间带 orange 带 3 个单词的字符串(*.orange.*)

        Q2-->绑定的是 最后一个单词是 rabbit 的 3 个单词(*.*.rabbit)或者第一个单词是 lazy 的多个单词(lazy.#)

        quick.orange.rabbit         被队列 Q1Q2 接收到

        lazy.orange.elephant      被队列 Q1Q2 接收到

        quick.orange.fox             被队列 Q1 接收到

        lazy.brown.fox                 被队列 Q2 接收到

        lazy.pink.rabbit                虽然满足两个绑定但只被队列 Q2 接收一次

        quick.brown.fox               不匹配任何绑定不会被任何队列接收到会被丢弃

        quick.orange.male.rabbit 是四个单词不匹配任何绑定会被丢弃

        lazy.orange.male.rabbit   是四个单词但匹配 Q2 

3.演示案例

生产者,匹配不同的routingKey

package org.example.Topic;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小馒头爱学Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值