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

RabbitMQ 延迟消息

基本概念:

        生产者发送消息时指定一个时间,消费者不会立刻收到消息,而是在指定时间之后才收到消息。 

死信:

        指那些无法被正常路由到队列的消息,或者在队列中无法被消费者正常消费的消息。当消息满足某些特定条件时,它们会被发送到一个特殊的交换器,即死信交换器(Dead-Letter Exchange,简称 DLX)

        当消息满足下列条件之一就会成死信:

        (1).消费者使用basic.reject或basic.nack声明消费失败,而且消息的requeue参数设置为false。

        (2).消息是一个过期的消息,已经超时,无法消费。

        (3).要传递的队列消息堆积满了,使得前面最早进入的消息可能成为死信。

        (4).如果一个消息被发送到交换机,但没有任何绑定的队列与该消息的路由键匹配

死信交换机:

        死信交换机(Dead-Letter Exchange,简称 DLX)是 RabbitMQ 中的一个高级功能,它用于处理成为死信的消息

        死信交换机工作原理:队列通过 dead-letter-exchange属性指定了一个死信交换机,当消息变成死信时,RabbitMQ 会自动将消息发送到配置的死信交换机。

延迟消息插件(rabbitmq_delayed_message_exchange):

        这是 RabbitMQ 官方提供的插件,它添加了一种新的交换机类型 x-delayed-message。通过这种交换机,可以在消息头部添加 x-delay 属性来指定延迟时间(以毫秒为单位)。消息会被暂存,直到延迟时间过后才被投递到相应的队列

TTL:RabbitMQ 中用于定义消息或队列存活时间的特性。当消息或队列的存活时间超过设定的 TTL 值时,消息将被自动删除或队列将被自动清除


http://www.kler.cn/a/330040.html

相关文章:

  • Apache和HTTPS证书的生成与安装
  • 【面试】前端vue项目架构详细描述
  • 【微软:多模态基础模型】(5)多模态大模型:通过LLM训练
  • HCIP --OSI七层参考模型回顾、TCP/UDP协议复习
  • Linux的目录结构
  • 环形缓冲区 之 STM32 串口接收的实现
  • 51单片机系列-按键检测原理
  • 【CSS3】css开篇基础(1)
  • 算法笔记(五)——分治
  • 【C++】多态(下)
  • C#基础(4)封装——成员方法
  • CSS文本格式化
  • 分层图 的尝试学习 1.0
  • 基于Python的自然语言处理系列(19):基于LSTM的语言模型实现
  • 51单片机的宠物自动投喂系统【proteus仿真+程序+报告+原理图+演示视频】
  • 【代码记录】多线程示例代码
  • C语言+单片机
  • docker -私有镜像仓库 - harbor安装
  • 10.4 Linux_并发_线程
  • 深入探讨 Docker:远程登录与镜像管理
  • C++容器之list基本使用
  • 上海我店:创新模式引领本地生活新风尚
  • c#使用winscp库实现FTP/SFTP/SCP的获取列表、上传和下载功能
  • 大数据比懂知识点:Parquet、ORC还是Avro作为数据存储格式,哪种在性能和压缩率上更优
  • 【C++二分查找 前缀和】1712. 将数组分成三个子数组的方案数|2078
  • 深入解析开源大模型的GPU资源需求与优化策略