搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
AllinToyou
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Python游戏汇总:三十个pygame游戏代码【附源码免费分享】_游戏代码大全可复制
2
Excel导入后的后台响应数据前端已经接收但是响应不出来_springblade使用easyexcel导入后往前端发送成功消息但前端不提示
3
sqlserver 死锁总结_sqlserver 死锁后 超时机制
4
【例子】webpack 开发一个可以加载 markdown 文件的加载器 loader 案例
5
Yoshua Bengio、吴恩达等AI巨擘预见2022年人工智能趋势_多模态ai 吴恩达
6
算法篇——素数筛
7
从写简历,到面试,到谈薪酬的那些技巧和防坑指南
8
【物联网】ROM、RAM和FLASH的区别_flash和rom
9
java 加入音乐_如何实现java插入背景音乐
10
数据结构与算法6:八大排序算法总结_最好情况交换次数最少的排序
当前位置:
article
> 正文
RabbitMQ--基础--03--交换机的类型_rabbitmq routekey 模糊匹配
作者:AllinToyou | 2024-06-12 14:12:07
赞
踩
rabbitmq routekey 模糊匹配
RabbitMQ
–基础–03–交换机的类型
1、常用的交换机类型
fanout
direct
topic
headers。
2、fanout
广播,将消息交给所有绑定到交换机的队列
无视 BindingKey,Routing Key
Fanout交换机转发消息是最快的
3、direct
定向,把消息交给符合指定 routing key 的队列
只有当Routing Key和Binding Key完全匹配的时候,消息队列才可以获取消息
Direct是Exchange的默认模式
RabbitMQ有个默认交换机,名字是空字符串,类型是Direct,绑定到所有的Queue
每一个Queue和 默认交换机 进行绑定,Binding Key是Queue的名字,所以,有时候我们感觉不需要交换器也可以发送和接收消息,但是实际上是使用了RabbitMQ的默认交换机
3.1、案例说明
交换机的类型为 direct
如果在发送消息时,设置路由键为 warning,则消息会路由到 Q1、Q2
如果在发送消息时,设置路由键为 info,则消息会路由到 Q2、Q3
如果在发送消息时,设置路由键为 debug,则消息只会路由到 Q3
4、topic
topic类型的交换机 实际上是 direct类型的交换机的一种
都将消息路由到 BindingKey 和 RoutingKey 相匹配的队列中
topic 在匹配规则上进行了扩展。使用了通配符
工作流程
消息生产者生产消息,把消息交给交换机 exchange
交换机 exchange 根据 key 的规则模糊匹配到对应的队列,由队列的监听消费者接收消息消费
4.1、匹配规则
4.1.1、RoutingKey
为一个点号 “.” 分割的字符串,被点号 “.” 分割开的每一段独立的字符串成为一个单词。
举例:com.rabbitmq.client、java.util.concurrent
4.1.2、BindingKey
RountingKey一样,也是点号 “.” 分割的字符串
BindingKey存在两种特殊的字符串,用于做模糊匹配
“*” :用于匹配一个单词
“#” :用于匹配多个单词(可以是零个)。
4.1.3、BindingKey模糊匹配案例
com.#:可以匹配:com.zzc.java、com.zzc等
com.*:可以匹配:com.zzc、com.java 等
4.2、Topic 模型
路由键为 com.rabbitmq.client 的消息,会同时路由到 Q1、Q2、Q3
路由键为 com.hidden.client 的消息,会路由到 Q2、Q3
路由键为 com.hidden.demo 的消息,会路由到 Q3
路由键为 java.util.concurrent 的消息,会被丢弃或者返回给生产者,因为,它没有匹配任何路由键
5、headers
header模式取消routingkey,使用header中的 key/value(键值对)匹配队列
在绑定队列和交换机时,制定一组key/value(键值对),当发送消息到交换机时,RabbitMQ 会获取到该消息的 headers,对比其中的键值对是否完全匹配队列和交换机绑定时指定的键值对。
如果完全匹配,则消息会路由到该队列
否则,不会路由到该队列
headers 类型的交换机性能会很差,而且也不实用,基本不会看到它的存在。
本文内容由网友自发贡献,转载请注明出处:
https://www.wpsshop.cn/w/AllinToyou/article/detail/708341
推荐阅读
article
RabbitMQ
-
消费者
确认
机制
_
rabbitmq
消费者
确认
机制
...
消息失败之后会重新入队,然后再次异常,再次入队,无限循环,这会导致mq消息处理飙升,带来不必要的压力。为了缓解这种压力,...
赞
踩
article
麒麟
离线 没有网络
安装
RabbitMQ
_
麒麟
rabbitmq
离线
安装
...
如何给离线
麒麟
操作系统
安装
RabbitMQ
。_
麒麟
rabbitmq
离线
安装
麒麟
rabbitmq
离线
安装
...
赞
踩
article
RabbitMQ
(
安装
配置
以及与
SpringBoot
整合)_
rabbitmq
springboot
配...
5.再次登录,成功!2.MQ的端口
配置
1.编辑MQ的
配置
文件2.修改端口5672为6783(防止被攻击)3.重启MQ使其...
赞
踩
article
RabbitMQ
简单
使用
方法
,
以异步
处理
日志
为例:_
使用
rabbitmq
优化
日志
操作
并
代替直接调...
通过上述步骤
,
您可以实现PHP中
使用
RabbitMQ
进行异步
日志
记录
,
并
确保消费者可以持续运行
,
无缝
处理
日志
消息。将消费...
赞
踩
article
RabbitMQ
docker
安装及使用...
* 复制配置文件到宿主机**
RabbitMQ
docker
安装及使用 ...
赞
踩
article
RabbitMQ
--基础--
02
--原理_
rabbitmq
unsynchronised
...
当一个新slave加入到一个镜像队列时,这时这个新slave是空的,而master中这时可能包含之前接收到的消息。因为要...
赞
踩
article
【
RabbitMQ
】
RabbitMQ
配置
与
交换机
学习
...
RabbitMQ
是一个开源的消息代理软件,它实现了高级消息队列协议(AMQP)。
RabbitMQ
支持多种消息传递协议,具...
赞
踩
article
rabbitmq
集群
保证
顺序
消费_
RabbitMQ
集群
的高可用...
前言:在讲
集群
高可用之前,先讲两个问题:一,
RabbitMQ
消息可靠性传输1,队列持久化2,消费端的手动Basic.Ac...
赞
踩
article
RabbitMQ
(十)
顺序
消费
_
rabbitmq
顺序
消费
...
一,前言对于一些业务来说,需要确保消息被
消费
时候的
顺序
性。例如,有前后关系的查询-新增-删除这么三个消息,
消费
者必须按照...
赞
踩
article
r
a
bbitMq 报错 o.s.
a
.
r
.c.C
a
chingConnectionF
a
cto
r
y: Ch...
r
a
bbimq o.s.
a
.
r
.c.C
a
chingConnectionF
a
cto
r
y: Ch
a
nnel shutdown...
赞
踩
article
RabbitMQ
-工作
模式
(
Publish
模式
&
Routing
模式
)...
最重要的变化是 我们现在希望将消息发布到我们的交易所,而不是 无名的。交换机是一个非常简单的东西。第一个队列绑定了绑定键...
赞
踩
article
rabbitMQ
基于注解 快速配置
交换机
消息队列_
@
rabbitlistener
(
bindings
...
可以在类名上添加 名字自己修改下即可。_
@
rabbitlistener
(
bindings
=
@
queuebinding
...
赞
踩
article
RabbitMQ
路由
模式即直接
交换机
_
rabbitmq
路由
键和
交换机
...
1.
路由
交换机
这种类型的工作方式是,消息只去到它绑定的routing key的队列中去2.实战(1)图示(2)代码实现p...
赞
踩
article
RabbitMQ
死信队列&
延迟
交换机
_
延迟
交换机
rabbitmq
...
RabbitMQ
死信队列&
延迟
交换机
_
延迟
交换机
rabbitmq
延迟
交换机
rabbitmq
...
赞
踩
article
RabbitMQ
中有
哪几种
交换机
类型?_
rabbitmq
交换机
种类...
这种
交换机
根据消息的标头信息(Headers)来决定消息的路由,而不是使用路由键。队列和
交换机
之间的绑定规则是根据标头键...
赞
踩
article
RabbitMQ
交换机
详解_
tpoic
交换机
rabbitmq
,2024年最新oppo大
数据
开发面...
主题
交换机
(Topic Exchange)是一种消息队列的
交换机
类型,它通过对消息的路由键和队列到
交换机
的绑定模式之间的...
赞
踩
article
RabbitMQ
| 环境部署|
交换机
类型
|
消费
幂等性_
rabbitmq
如何
选择
交换机
类型
...
3.发布订阅模式3.1
交换机
类型
Fanout:广播,将消息交给所有绑定到
交换机
的队列Direct:定向,把消息交给符合...
赞
踩
article
RabbitMQ
消息
确认
机制、补偿机制、
消息
幂等性实践_
acknowledge
-
mode
默认值...
1. 场景先看这么几个面试题:如何保证
消息
的可靠性投递?即如何确定
消息
是否发送成功?如果失败如何处理(补偿机制)?如何保...
赞
踩
article
RabbitMQ
(1)_
优先级
队列
mq
...
RabbitMQ
知识点_
优先级
队列
mq
优先级
队列
mq
Rabbi...
赞
踩
article
消息中间件
MQ——
RabbitMQ
、
RocketMQ
、
Kafka
_
rabbitmq
rocketmq...
消息中间件
MQ——
RabbitMQ
、
RocketMQ
、
Kafka
_
rabbitmq
rocketmq
rabbitmq
r...
赞
踩
相关标签
rabbitmq
分布式
网络
kylin
arm
linux
java-rabbitmq
spring boot
php
docker
容器
学习
ruby
java
spring cloud
spring
rabbitmq 集群保证顺序消费
数据库