微服务框架 SpringCloud微服务架构 服务异步通讯 51 死信交换机 51.1 初识死信交换机

news2024/12/23 5:40:23

微服务框架

【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】

服务异步通讯

文章目录

      • 微服务框架
      • 服务异步通讯
      • 51 死信交换机
        • 51.1 初识死信交换机
          • 51.1.1 初识死信交换机
          • 51.1.2 总结

51 死信交换机

51.1 初识死信交换机

51.1.1 初识死信交换机

当一个队列中的消息满足下列情况之一时,可以成为死信(dead letter):

  • 消费者使用basic.reject或 basic.nack声明消费失败,并且消息的requeue参数设置为false
  • 消息是一个过期消息,超时无人消费
  • 要投递的队列消息堆积满了,最早的消息可能成为死信

如果该队列配置了dead-letter-exchange【死信交换机】属性,指定了一个交换机,那么队列中的死信就会投递到这个交换机中,而这个交换机称为死信交换机(Dead Letter Exchange,简称DLX)。

【举个栗子】

在这里插入图片描述

又是这个简单的结构模型,生产者 → 交换机 → 队列 → 消费者

现在有一个消息到达 了消费者

在这里插入图片描述

这时消费者 采用的是默认的失败重试 策略,它会一直重试,重试资源耗尽后,它会拒绝这个消息

在这里插入图片描述

消息一旦被拒绝,默认情况就会被丢弃了

如果不想丢弃,就必须给simple.queue 绑定一个死信交换机

在这里插入图片描述

这样这个dl.direct 就成了 simple.queue 的死信交换机 了

在这里插入图片描述

这个时候这个消息就不会 被丢弃了,而是变成一个 死信回到队列,队列再投递到 死信交换机

当然这个死信交换机也是不能存储 数据的,所以还要绑定一个队列

在这里插入图片描述

这个死信就会到达 这个队列【“死信队列”】

在这里插入图片描述

而且如果死信交换机和死信队列 有路由key ,simple.queue 还必须知道这个key 才能正确转发【而且 一定能够达到 死信队列】

51.1.2 总结

什么样的消息会成为死信?

  • 消息被消费者reject或者返回nack
  • 消息超时未消费
  • 队列满了

如何给队列绑定死信交换机?

  • 给队列设置dead-letter-exchange属性,指定一个交换机
  • 给队列设置dead-letter-routing-key属性,设置死信交换机与死信队列的RoutingKey

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

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

相关文章

java 多线程 上

目录 基本概念 线程的创建和使用 Thread类 API中创建线程的两种方式 Thread类的有关方法 线程的调度 线程的优先级 总结 基本概念 程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程(process)是程…

TapTap 算法平台的 Serverless 探索之路

作者:陈欣昊 Serverless 在构建应用上为 TapTap 节省了大量的运维与开发人力,在基本没投入基建人力的情况下,直接把我们非常原始的基建,或者说是资源管理水平拉到了业界相对前沿的标准。最直观的数据是,仅投入了个位数…

代码随想录Day55|392.判断子序列、115.不同的子序列

文章目录392.判断子序列115.不同的子序列392.判断子序列 文章讲解:代码随想录 (programmercarl.com) 题目链接:392. 判断子序列 - 力扣(LeetCode) 题目: 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。…

koa 使用

(贴个官网,koa 内容真不多,非常的小巧轻量) 1. koa 是什么 一个更小、更富有表现力、更健壮的 Web 框架。使用 koa 编写 web 应用,通过组合不同的 generator,可以免除重复繁琐的回调函数嵌套,…

关于新正方教务系统(湖北工程学院)的one day越权漏洞的说明

关于正方教务系统漏洞的说明 此漏洞基于湖北工程学院教务管理系统进行演示,漏洞覆盖新正方教务系统8.0以下版本,为本人一年前提交的漏洞,所以并非0day漏洞 此漏洞影响范围巨大,几乎涉及国内一半高校的教务系统,包含武…

我国油气行业勘探开发投入提升 石油资源存在供需短缺矛盾 天然气需求高速发展

根据观研报告网发布的《2022年中国油气市场分析报告-市场竞争策略与发展动向前瞻》显示,油气是指石油和伴生的天然气,被誉为“能源之王”、“工业的血液”,是全世界各国的战略性产业。油气资源种类多样,根据开采难度可分为两大类&…

Python:三方库安装路径及路径变更

文章目录一、安装三方库的几种方式二、指定第三方库的镜像源三、查看安装默认路径四、修改安装默认路径五、查看安装的库六、导出库安装文件七、安装小结一、安装三方库的几种方式 1.直接pip install安装(有网的环境下通用) : 在python–>…

CSDN上讲得最好的——Linux权限

目录 一、shell原理精讲 二、Linux权限概念 三、权限管理 1、访问者分类 2、文件类型及访问权限 3、表示方法 4、设置方法 (1)chmod (2)chown (3)chgrp (4)umask 四、目录权限 五、粘滞位 一、超级管理员删除 二、该目录的所有者删除 三、…

GDAL之重投影(详细篇)

一、空间坐标系对应EPSG编号 二、通用横向墨卡托(UTM)投影坐标系和WGS84地理坐标系转换 一、目标地区的编号查看(中国东部地区属于UTM Zone 50N) 从180“W开始,有60个纵向投影区,编号为1到60。除了挪威和斯瓦尔巴群岛附近的一些例外,每个区…

【毕业设计_课程设计】基于 U-Net 网络的遥感图像语义分割(源码+论文)

文章目录0 项目说明1 研究目的2 研究方法3 研究结论4 论文目录5 项目工程0 项目说明 **基于 U-Net 网络的遥感图像语义分割 ** 提示:适合用于课程设计或毕业设计,工作量达标,源码开放 实验训练使用 Anaconda 版 Python 3.7 下的 TensorFlo…

OpenSSL BIO源码简析

文章目录1. BIO简介BIO chainBIO数据结构BIO_METHOD数据结构2. Base64示例分析初始化构造BIO链写数据free1. BIO简介 相关文档 /html/man7/bio.html /html/man3/BIO_*.htmlbio - Basic I/O abstraction,即IO抽象层。 BIO有两种: source/sink BIO,即数…

win7系统升级IE11,打补丁KB2729094失败解决办法

因银行这边很多都需要IE11版本,但win7系统大部分需要打一些补丁才能安装。其他补丁都打上了,唯独这个KB2729094一直失败,搞得很无语。还好找到可以直接用命令安装。就不需要打这个补丁了,直接安装使用即可。 1、下载IE11离线安装…

DBCO-PEG-Dopamine,二苯并环辛炔-聚乙二醇-多巴胺,DBCO聚乙二醇衍生物

●中文名:二苯并环辛炔-聚乙二醇-多巴胺,多巴胺聚乙二醇环辛炔 ●英文名:DBCO-PEG-Dopamine,Dopamine-PEG-DBCO ●外观以及性质: DBCO-PEG-Dopamine产物呈固体或粘性液体,取决于PEG分子量,DBCO…

“R语言+遥感”的水环境综合评价方法

目标: 1、掌握R语言基础应用及水环境数据分析方法 2、掌握水环境遥感数据预处理方法 3、掌握水线提取——水体指数与阈值混合法(遥感) 4、掌握水深提取——多元回归分析方法(R语言遥感) 5、掌握水温提取——支持向…

(附源码)springboot学生社团信息管理 毕业设计 011238

目 录 摘要 1 1 绪论 1 1.1 研究背景 1 1.2 研究意义 1 1.3论文结构与章节安排 1 2 学生社团信息管理系统系统分析 3 2.1 可行性分析 3 2.2 系统流程分析 3 2.2.1 数据增加流程 4 2.2.2 数据修改流程 4 2.2.3 数据删除流程 5 2.3 系统功能分析 5 2.3.1 功能性分析 5 2.3.2 非功…

D. Secret Santa(构造)

Problem - 1530D - Codeforces 每年12月,VK都会为其员工举办名为 "秘密圣诞老人 "的传统活动。它是这样发生的。 从1到n的n名员工参加了这个活动。每个员工i被分配到一个不同的员工bi,员工i必须给这个员工做一份新年礼物。每个员工正好被分配…

如何使用Chrome浏览器模拟弱网情况

点击谷歌浏览器图标 打开浏览器后,按下F12键 弹出开发者工具窗口 刷新网页,页面的加载速度为597ms 在开发者工具中,点击Online,在弹出的菜单中点击Slow 3G(慢速3G网络) 重新加载网站,…

PyTorch logit函数

1.PyTorch vs TensorFlow tensorflow是静态图,需要你把啥都准备好,然后它像个傻子一样执行,tensorflow,目前业界更适合部署,毕竟是静态图,infer的时候速度快。 pytorch,它会在执行的时候&…

Android -- 每日一问:如何检测内存泄露,如何进行内存优化?

经典回答 Android 系统为每一个应用程序都设置了一个硬性的 Dalvik Heap Size 最大限制阈值,这个阈值在不同的设备上会因为 RAM 大小不同而各有差异。如果你的应用占用内存空间已经接近这个阈值,此时再尝试分配内存的话,很容易引起 OOM 。 …

效果分析的关键是指标能算出来……

看到题目会不会有一些奇怪? 这算什么关键…… 经历过才知道,这是一个不起眼但却极为重要的部分,企业在数据驱动发展进程中必然会遇到指标算不出来的情况,而且随着企业规模的不断扩大,这一问题会持续伴随。“指标能算…