RabbitMQ_交换机

news2025/1/16 16:39:21

简单理解交换机在RabbitMQ中扮演的角色

交换机在RabbitMQ中扮演消息系统中枢,将从生产者处收集的消息转发至对应的消息队列处,等待消费者消费

提前说明交换机 与 routing key 与 消息队列的关系

channel.queueBind(queueName, exchangeName, routingKey);

消息队列被绑定至交换机,交换机根据routing key标识并分类消息队列

交换机的种类及对应模式

1.fanout

Publish/Subscribe(发布与订阅)模式交换机

生产者向交换机中传递消息后,所有队列均会收到消息

2.direct

Routing(路由)模式交换机,该交换机为RabbitMQ的默认交换机

生产者向交换机传递消息后,交换机在进行消息分发的时候,只会将该消息分发至被对应routing key标识的队列

举例:五个队列的routing key分别为key1 key2 key3 key3 key3,那么生产者指定的routing key为key3时,队列3 4 5将收到消息,而队列1 2不会

3.topic

Topics(主题)模式交换机,相较前者添加了基于routing key的模糊匹配

举例:队列1 2 3的routing key分别为 111.number.xxx 与 222.number.xxx.yyy 与 333.333.number.

那么:

        *.number.# 将匹配队列1 2

        #.number.* 将匹配队列1

        *.number.* 将匹配队列1

        #.number.# 将匹配队列1 2 3

4.headers

参数交换机

声明队列时,可设置队列携带参数

channel.queueDeclare(queueName, durable, exclusive, autoDelete, arguments);

生产者传递消息时,可设置消息携带参数,参数交换机会将该消息分发至具有相同参数的队列

channel.basicPublish(exchangeName, routingKey, prop, message.getBytes());

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/18935.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

git4:git整合IDEA和国内代码托管中心码云(自建代码托管平台)

1.配置忽略文件 IDE会生成.idea等无关项目实际功能的文件忽略这些文件配置.ignore 然后再讲此配置文件导入.gitconfig文件中idea中导入git程序 2.测试IDEA vcs 直接项目中 git add commit即可切换版本(提交第二版,修改会变成蓝色,然后提交…

血泪史!外包如何找到靠谱的兼职程序员?

好哥们公司上半年的重点项目,黄了。 公司是做线下项目起家的,受到各种不可抗力因素影响改为线上举办。这次的转型老板很看重,但由于整个公司都没有擅长这块的技术开发,于是托朋友找了个外包团队完成。 几十个W花进去,做…

进销存记账软件十大品牌合集,看看哪一款适合你

随着管理成本的提高,加上信息技术的发展,各行各业都要求应用专业的技术软件来提高管理效率,中小商户也不例外。 过往的手工记账已经满足不了需求,进销存记账软件应运而生。 进销存记账软件是时代的产物,也是中小商户…

带你Java入门(Java系列1)

目录 前言: 1.什么是Java 2.Java的语言特点 3.初识Java的main方法 4.注释 5.标识符 6.关键字 7.1基本数据类型 7.2引用数据类型 8.变量 8.1.整形变量 8.2.长整形变量 8.3浮点型变量 8.3.1单精度浮点型 8.3.2双精度浮点型 8.4字符型变量 8.5布尔型…

【计算机网络:自顶向下方法】(二)应用层

tm 【计算机网络:自顶向下方法】(二)应用层 文章目录应用层如何创建一个新的网络应用?2.1 应用层原理网络应用的体系结构对等模式(P2P:Peer To Peer)混合体:客户-服务器和对等体系结构进程通信分布式进程通信需要解决的问题问题1:进程…

CorelDRAW2023全新版功能及下载安装教程

CorelDraw2023是一款优秀的图形工具。有了它,不太专业的客户也可以做直观和简短的组成,由于其平滑和简单的用户界面。你可以一起做很多编辑工作。有了这个巨大的工具,你可以对你的图像、网站、商标和其他许多东西产生美丽而令人印象深刻的效果…

DJYOS驱动开发系列一:基于DJYOS的UART驱动编写指导手册

1.概述 DJYOS设计通用的串口驱动模型,在此模型的基础上,移植到不同硬件平台时,只需提供若干硬件操作函数,即可完成串口驱动开发,使开发工作变得简单而快速执行效率高。 DJYOS源代码都有特定的存放位置, 建…

DJYGUI系列文章五:GK显示器接口

1 GK显示器接口概述 显示器是图形显示的终端,图形的所有操作都会直接或间接的体现在显示器上面。DJYGUI支持多显示器、虚显示器和镜像显示器的功能。应用程序在调用API函数绘图前,需安装显示器,按照GK显示器标接口实现驱动函数。 GK的底层硬件…

DCS系统组态设计实验

太原理工大学控制仪表实验之DCS系统组态设计实验 DCS系统组态设计一.实验内容1.根据自己的理解,复述实验整体流程,并画出实验整体流程图。2.根据视频,写出DCS 信号通道接线关系表。即主控站DCS模块名称,模块型号,I/O模…

跟艾文学编程《Python基础》(5)Python的文件操作

作者: 艾文,计算机硕士学位,企业内训讲师和金牌面试官,公司资深算法专家,现就职BAT一线大厂。邮箱: 1121025745qq.com博客:https://wenjie.blog.csdn.net/内容:跟艾文学编程《Python…

linux网络编程epoll内核实现代码分析

1、linux内核epoll相关数据结构 1.1、epoll相关数据结构类图 1.2、关键数据结构说明 socket_wq结构体包含一个__wait_queue_head成员,__wait_queue_head用于连接wait_queue_t链表,对于epoll而言就是连接eppoll_entry; eppoll_entry包含一个e…

第七届信息类研究生学术论坛参赛有感

因为疫情不仅感叹时光飞逝,上了大半年的网课再次回到校园已经有师弟师妹了。今年的研究生学术论坛更卷了,入围了88项作品。这次科研作品征集研究生在学期间信息类相关研究成果,鼓励实物参展,包括软件系统、硬件系统等,…

Kubernetes(k8s)CNI(Calico)网络模型原理

文章目录一、概述二、Calico 架构和核心组件三、什么是BGP?三、Calico 两种网络模式1)IPIP 模式2)BGP 模式四、安装Calico插件1)通过helm安装Calico2)通过yaml文件安装3)k8s flannel网络切换calico1、卸载f…

适配不同场景的RestTemplate

一个基本实现 如果项目里可能只是偶尔通过一个url,发起一个http请求,一个基本实现如下: Configuration public class RestTemplateConfiguration {Beanpublic RestTemplate restTemplate() {RestTemplate restTemplate new RestTemplate()…

项目常遇到的问题

这里写自定义目录标题1:uniapp生成二维码2:uniapp onShow接收参数3:javascript如何获取对象的key和value4:uni-app:页面直接传递复杂参数5:js对于数组元素相同的分类方法1:uniapp生成二维码 选择…

关联式容器(Associative Container)

1:什么是关联式容器&#xff1f; 关联式容器依照特定的排序准则 自动为元素排序 元素可以是任何类型的value 也可以是 key/value pair key可以是任何类型 映射至一个相关value 而value也可以是任意类型 通常是所有容器默认以<进行比较 也可以通过自己的比较函数 定义出不同的…

Dubbo基础

目录 什么是 RPC 那为什么要有 RPC&#xff0c;HTTP 不好么&#xff1f; RPC 的原理是什么? 如何设计一个 RPC 框架 从底向上的思路 服务消费者 服务提供者 注册中心 监控运维 小结一下 简单实现一个 RPC 框架 Dubbo 简介 Dubbo的历史 Dubbo的功能 为什么要用 …

Java语法之继承

上次给大家分享了Java的封装&#xff0c;今天小编给大家分享面向对象三大特性的第二大特性&#xff0c;也就是继承&#xff0c;fighting~~ 目录 &#x1f384;一.继承的概念 &#x1f384;1.1为什么需要继承 &#x1f384;1.2继承的概念 &#x1f384;1.3继承的语法 &#…

Android App开发中补间动画的讲解以及实现钟摆动画效果实战(附源码 简单易懂 可直接使用)

需要图片集和源码请点赞关注收藏后评论区留言~~~ 一、补间动画的种类 Android提供了补间动画&#xff0c;它允许开发者实现某个视图的动态变换&#xff0c;具体包括四种动画效果&#xff0c;分别是灰度动画&#xff0c;平移动画&#xff0c;缩放动画和旋转动画。因为开发者提供…

缓存穿透、缓存击穿、缓存雪崩区别和解决方案

生命无罪&#xff0c;健康万岁&#xff0c;我是laity。 我曾七次鄙视自己的灵魂&#xff1a; 第一次&#xff0c;当它本可进取时&#xff0c;却故作谦卑&#xff1b; 第二次&#xff0c;当它在空虚时&#xff0c;用爱欲来填充&#xff1b; 第三次&#xff0c;在困难和容易之…