死信队列和延迟队列的介绍

简介: 死信队列和延迟队列的介绍

公众号merlinsea


TTL【time to live】介绍



   消息的存活时间

   消息如果在存活时间内没有被消费则会被broker清除,变为死信消息


   rabbitmq中设置消息的ttl方式:

           方式1: 单个消息设置ttl

           方式2:整个队列设置ttl【使用居多】


死信队列介绍



       用于存放死信消息的队列

         哪些消息是死信消息呢?

      1、消费者拒收消息(basic.reject/ basic.nack),并且没有重新入队 requeue=false。

            2、消息在队列中未被消费,且超过队列或者消息本身的过期时间TTL(time-to-live) 。

            3、队列中的消息达到最大容量,已经存放不了的消息。


死信交换机



   Dead Letter Exchange(死信交换机,缩写:DLX)当消息成为死信后,会被重新发送到另一个交换机,这个交换机就是DLX死信交 换机,死信交换机后面绑定的队列就是死信队列。


死信队列的图示:

640.jpg

【普通队列】包括的参数:


核心:1、过期时间    2、死信交换机是哪个   3、重新指定的key是什么


640.jpg


延迟队列介绍



   ⼀种带有延迟功能的消息队列,Producer 将消息发送到消息队列 服务端,但并不期望这条消息⽴⻢投递,⽽是推迟到在当前时间点 之后的某⼀个时间投递到Consumer 进⾏消费,该消息即定时消息


   延迟队列可以通过上面的死信队列来完成,只需要普通队列没有消费者进行监听即可做到定时消息的功能。

640.jpg


相关文章
|
XML Java 开发者
Spring Boot中的bean注入方式和原理
Spring Boot中的bean注入方式和原理
1367 0
|
消息中间件 存储 中间件
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
10492 1
|
3月前
|
人工智能 搜索推荐 API
API驱动电商个性化:用户行为分析接口
在电商领域,个性化体验至关重要。用户行为分析接口通过实时捕捉浏览、点击等行为,结合API技术实现个性化推荐与精准营销。本文详解其工作原理、实现方式及应用价值,助力电商平台提升用户体验与转化率。
124 0
|
11月前
|
消息中间件 存储 缓存
大厂面试高频:Kafka 工作原理 ( 详细图解 )
本文详细解析了 Kafka 的核心架构和实现原理,消息中间件是亿级互联网架构的基石,大厂面试高频,非常重要,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:Kafka 工作原理 ( 详细图解 )
|
12月前
|
安全 网络协议 Linux
内网穿透工具Frp
【10月更文挑战第6天】内网穿透工具Frp
1129 67
|
5月前
|
消息中间件 架构师 Java
美团面试:对比分析 RocketMQ、Kafka、RabbitMQ 三大MQ常见问题?
美团面试:对比分析 RocketMQ、Kafka、RabbitMQ 三大MQ常见问题?
美团面试:对比分析 RocketMQ、Kafka、RabbitMQ 三大MQ常见问题?
|
7月前
|
存储 并行计算 Java
CompletableFuture原理及应用场景详解
CompletableFuture是Java 8引入的异步编程工具,用于优化多任务并行处理。相比传统Future,它支持可组合操作(如thenApply、thenCombine),避免回调地狱,同时降低依赖间的阻塞。其核心通过result存储结果,stack管理依赖动作,基于观察者模式实现回调通知。使用中需注意:异步方法建议显式传入线程池以隔离资源;异常信息需通过get()或exceptionally捕获。适用于复杂业务场景,如APP页面加载涉及多服务API调用时,可显著提升性能与代码可读性。
575 4
|
9月前
|
消息中间件 存储 缓存
一文带你秒懂 Kafka工作原理!
Apache Kafka 是一个高吞吐量、低延迟的分布式消息系统,广泛应用于实时数据处理、日志收集和消息队列等领域。它最初由LinkedIn开发,2011年成为Apache项目。Kafka支持消息的发布与订阅,具备高效的消息持久化能力,适用于TB级数据的处理。
|
11月前
|
JavaScript Java 关系型数据库
Spring事务失效的8种场景
本文总结了使用 @Transactional 注解时事务可能失效的几种情况,包括数据库引擎不支持事务、类未被 Spring 管理、方法非 public、自身调用、未配置事务管理器、设置为不支持事务、异常未抛出及异常类型不匹配等。针对这些情况,文章提供了相应的解决建议,帮助开发者排查和解决事务不生效的问题。
1340 1
|
12月前
|
SQL 数据处理 数据库
SQL Server 数据类型转换详解
SQL Server 数据类型转换详解
676 2