当前位置: 首页 > news >正文

RabbitMQ-TTL/死信队列/延迟队列高级特性

文章目录

  • TTL
  • 死信队列
    • 消息成为死信的三种情况
    • 队列如何绑定死信交换机
  • 延迟队列
    • RabbitMQ如何实现延迟队列

总结来源B站黑马程序员

TTL

TTLTTL(Time To Live):存活时间/过期时间当信息到达存活时间后,还没有被消费,会被自动清除。RabbitMQ可以对消息设置过期时间,也可以对整个队列(Queue)设置过期时间

死信队列

DLX(Dead Letter Exchange):死信交换机,当消息成为Dead Message后,可以被重新发送到另一个交换机,这个交换机就是DLX死信队列原理:当给正常的队列设置过期时间后,在这个过期时间内消息没有被消费的消息会被丢弃,但如果这个正常的队列绑定了一个死信交换机,那么队列里过期没有被消费的消息将不会直接被丢弃而是被直接发送给死信交换机死信交换机再将过期的信息发送给其他的队列(死信队列),从而过期的消息又可以被重新消费了。

截图来自黑马程序员

消息成为死信的三种情况

死信的三种情况1.队列消息长度达到限制2.消费者拒绝消费消息,basicNack/basicReject并且不把消息重新放入原目标队列,requeue=false3.原队列存在消息过期设置,消息到达超时时间未被消费。

队列如何绑定死信交换机

队列绑定死信交换机给对垒设置参数:x-dead-letter-exchage和x-dead-letter-routing-key

在这里插入图片描述

延迟队列

延迟队列:即消息进入队列后不会立即被消费,只有到达指定时间(过期时间TTL)后,才会被消费。需求场景:1.下单后,30分钟未支付,取消订单,回滚库存2.新用户注册成功7天后,发送消息问候。

在这里插入图片描述

RabbitMQ如何实现延迟队列

RabbitMQ本身并未直接提供延迟队列的功能。但我们可以将"TTL"+"死信队列"的组合方式实现延迟队列的效果.

在这里插入图片描述

相关文章:

RabbitMQ-TTL/死信队列/延迟队列高级特性

文章目录 TTL死信队列消息成为死信的三种情况队列如何绑定死信交换机 延迟队列RabbitMQ如何实现延迟队列 总结来源B站黑马程序员 TTL TTLTTL(Time To Live):存活时间/过期时间当信息到达存活时间后,还没有被消费,会被自动清除。RabbitMQ可以对消息设置过…...

docker安装php7.4安装(swoole)

容器 docker pull centos:centos7 docker run -dit -p9100:9100 --name“dade” --privilegedtrue centos:centos7 /usr/sbin/init 一、安装前库文件和工具准备 1、首先安装 EPEL 源 yum -y install epel-release2.安装 REMI 源 yum -y install http://rpms.remirepo.net/en…...

身份证识别系统(安卓)

设计内容与要求: 通过手机摄像头捕获身份证信息,将身份证上的姓名、性别、出生年月、身份证号码保存在数据库中。1)所开发Apps软件至少需由3-5个以上功能性界面组成。要求:界面美观整洁、方便应用;可以使用Android原生…...

Python教程——最后一波来喽

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1.使用__slots__2. property3.多重继承 4.定制类5.枚举类6.错误处理7.调试8. 文档测试9.单元测试10. 文件读写11. StringIO和BytesIO12. 操作文件和目录13.序列化14…...

学生管理系统(python实现)

新增学生显示学生查找学生删除学生存档到文件 约定好数据的存储格式: 约定把数据保存在和py文件同级目录中,文件名为record.txt 文件内容按照行文本的方式来表示 首先这是一个文本文件,里面包含了很多行,每一行代表一个学生 …...

Java读取文件

读取文件为String 、访问链接直接跳转html 环境:SpringMVC 、前端jsp InputStreamReader FileInputStream fileInputStream new FileInputStream(formatFile.getHtmlpath());InputStreamReader reader new InputStreamReader(fileInputStream, StandardCharsets…...

曾桂华:车载座舱音频体验探究与思考| 演讲嘉宾公布

智能车载音频 I 分论坛将于3月27日同期举办! 我们正站在一个前所未有的科技革新的交汇点上,重塑我们出行体验的变革正在悄然发生。当人工智能的磅礴力量与车载音频相交融,智慧、便捷与未来的探索之旅正式扬帆起航。 在驾驶的旅途中&#xff0…...

面试题HTML+CSS+网络+浏览器篇

文章目录 Css预处理sass less是什么?为什么使用他们怎么转换 less 为 css?重绘和回流是什么http 是什么?有什么特点HTTP 协议和 HTTPS 区别什么是 CSRF 攻击HTML5 新增的内容有哪些Css3 新增的特性flex VS grid清除浮动的方式有哪些&#xff…...

wordpress外贸独立站

WordPress外贸电商主题 简洁实用的wordpress外贸电商主题,适合做外贸跨境的电商公司官网使用。 https://www.jianzhanpress.com/?p5025 华强北面3C数码WordPress外贸模板 电脑周边、3C数码产品行业的官方网站使用,用WordPress外贸模板快速搭建外贸网…...

[python] 构建数据流水线(pipeline)

Plum 是一个用于构建数据流水线(pipeline)的 Python 库,它旨在简化和优化数据处理流程,使得数据流转和处理变得更加清晰、高效和可维护。下面我将更详细地介绍 Plum 的特点、功能和使用方法。 Plum 的主要特点和功能:…...

计算机网络-网络互连和互联网(五)

1.路由器技术NAT: 网络地址翻译,解决IP短缺,路由器内部和外部地址进行转换。静态地址转换:静态NAT(一对一) 静态NAT,内外一对一转换,用于web服务器,ftp服务器等固定IP的…...

【深度学习】Pytorch基础

张量 运算与操作 加减乘除 pytorch中tensor运算逐元素进行,或者一一对应计算 常用操作 典型维度为N X C X H X W,N为图像张数,C为图像通道数,HW为图高宽。 sum() 一般,指定维度,且keepdimTrue该维度上元…...

C++模拟揭秘刘谦魔术,领略数学的魅力

新的一年又开始了,大家新年好呀~。在这我想问大家一个问题,有没有同学看了联欢晚会上刘谦的魔术呢? 这个节目还挺有意思的,它最出彩的不是魔术本身,而是小尼老师“念错咒语”而导致他手里的排没有拼在一起,…...

JAVA语言编写一个方法,两个Long参数传入,使用BigDecimal类,计算相除四舍五入保留2位小数返回百分数。

在Java中,你可以使用BigDecimal类来执行精确的浮点数计算,并且可以指定结果的小数位数。以下是一个方法,它接受两个Long类型的参数,并使用BigDecimal来计算它们的商,然后将结果四舍五入到两位小数,并返回一…...

SQL教学:掌握MySQL数据操作核心技能--DML语句基本操作之“增删改查“

大家好,今天我要给大家分享的是SQL-DML语句教学。DML,即Data Manipulation Language,也就是我们常说的"增 删 改 查",是SQL语言中用于操作数据库中数据的一部分。作为MySQL新手小白,掌握DML语句对于数据库数…...

【性能测试】Jmeter性能压测-阶梯式/波浪式场景总结(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、阶梯式场景&am…...

前端面试 跨域理解

2 实现 2-1 JSONP 实现 2-2 nginx 配置 2-2 vue 开发中 webpack自带跨域 2 -3 下载CORS 插件 或 chrome浏览器配置跨域 2-4 通过iframe 如:aaa.com 中读取bbb.com的localStorage 1)在aaa.com的页面中,在页面中嵌入一个src为bbb.com的iframe&#x…...

JetBrains TeamCity 身份验证绕过漏洞复现(CVE-2024-27198)

0x01 产品简介 JetBrains TeamCity是一款由JetBrains开发的持续集成和持续交付(CI/CD)服务器。它提供了一个功能强大的平台,用于自动化构建、测试和部署软件项目。TeamCity旨在简化团队协作和软件交付流程,提高开发团队的效率和产品质量。 0x02 漏洞概述 JetBrains Team…...

设计模式—单例模式

单例模式(Singleton Pattern)是一种常用的软件设计模式,其核心思想是确保一个类仅有一个实例,并提供一个全局访问点来获取这个实例。单例模式主要用于控制资源的访问,比如配置文件的读取,数据库的连接等&am…...

Android在后台读取UVC摄像头的帧数据流并推送

Android在后台读取UVC摄像头的帧数据流并推送 添加UvcCamera依赖库 使用原版的 saki4510t/UVCCamera 在预览过程中断开可能会闪退,这里使用的是 jiangdongguo/AndroidUSBCamera 中修改的版本,下载到本地即可。 https://github.com/jiangdongguo/AndroidU…...

Unity Package Manager从入门到精通:除了导入Asset Store,你还能这样玩转自定义插件

Unity Package Manager高级指南:解锁自定义插件开发的工程化实践 在Unity开发社区中,Package Manager常被简化为一个"资源商店下载工具",这大大低估了它的真正价值。实际上,UPM(Unity Package Manager&#…...

AI大模型学习路线图:小白程序员必看,收藏这份高薪入局指南!

AI大模型学习路线图:小白程序员必看,收藏这份高薪入局指南! 本文提供了一套完整的AI大模型学习路线,涵盖大模型基础认知、核心技术(RAG、Prompt、Agent)、开发基础能力、应用场景落地、项目实操流程及面试求…...

35岁程序员收藏!转行大模型,抢占高薪风口,从入门到高薪 Offer 全攻略

35岁程序员收藏!转行大模型,抢占高薪风口,从入门到高薪 Offer 全攻略 35岁程序员面临职业瓶颈,大模型技术提供了转行出路。文章分析了为何转行大模型是明智之选,包括行业风口、需求缺口大、原有技术可复用、职业生命周…...

ADC过采样技术提升嵌入式系统测量精度

1. ADC过采样技术概述在嵌入式系统开发中,ADC(模数转换器)的性能往往直接决定了整个系统的测量精度。标准的10位ADC在很多场合已经足够使用,但当我们需要更高精度的测量时,过采样技术就成为了一个经济有效的解决方案。…...

Python与Rust的混合编程:结合两者的优势

Python与Rust的混合编程:结合两者的优势 前言 大家好,我是第一程序员(名字大,人很菜)。作为一个非科班转码、正在学习Rust和Python的萌新,最近我开始学习Python与Rust的混合编程。说实话,一开始…...

Transformer位置编码层代码详解:从正弦公式到PyTorch实现(附避坑指南)

Transformer位置编码层代码详解:从正弦公式到PyTorch实现(附避坑指南) 在自然语言处理领域,Transformer架构彻底改变了序列建模的方式。与传统RNN和LSTM不同,Transformer完全依赖自注意力机制来捕捉序列中的依赖关系。…...

Comsol光子晶体光纤模式分析之FSM Mode计算

Comsol光子晶体光纤模式分析,fsm mode计算在光学领域,光子晶体光纤以其独特的光学特性吸引着众多研究者的目光。而在对光子晶体光纤进行深入研究时,模式分析是至关重要的一环,其中FSM(Full Vectorial Finite Element M…...

Artemis II宇航员在太空中遭遇Outlook故障问题

许多沮丧的用户都曾发誓要把微软Outlook发射到太空中,但NASA实际上已经这样做了——在一次绕月之旅中,现在它正给宇航员带来麻烦。目前正在环绕地球的猎户座飞船上的宇航员正在处理一系列日常维护任务,包括让他们的设备正常工作。从与休斯顿控…...

从火柴盒到AI:探索MENACE的数字化旅程

在计算机科学的历史中,有许多有趣的实验和发明,其中之一便是由唐纳德米奇(Donald Michie)设计的“火柴盒计算机”(Matchbox Educable Noughts and Crosses Engine,简称MENACE)。这个装置使用了火柴盒和彩色珠子来模拟人工智能,教机器玩井字游戏(Tic-Tac-Toe)。本文将…...

3款高效开源工具实现抖音无水印视频解析与下载

3款高效开源工具实现抖音无水印视频解析与下载 【免费下载链接】DouYinBot 抖音无水印下载 项目地址: https://gitcode.com/gh_mirrors/do/DouYinBot 🎯 核心价值解析:技术赋能内容获取 在数字化内容爆炸的时代,抖音作为主流短视频平…...