博客
关于我
延迟队列、重试队列、死信队列、消息回溯等
阅读量:728 次
发布时间:2019-03-21

本文共 476 字,大约阅读时间需要 1 分钟。

延迟队列是在线购物时常见的提示之一,如“三十分钟未付款自动取消”,这是一种典型的应用场景。延迟队列主要用于存储延迟消息,这类消息不在发送后立即被消费者拿到,而是等待特定时间后才能被获取消费。延迟队列可分为两种类型:基于消息的延迟和基于队列的延迟。基于消息的延迟为每条消息设定独立延迟时间,导致新消息需重新排序,性能影响较大,因此实际应用多采用基于队列的延迟,通过设置不同延迟级别的队列,如5s、10s、30s、1min、5mins等,提升效率。

重试队列则类似回退队列,用于在消费失败时将消息重新投递。与回退队列不同,重试队列通常有多个等级,每个等级设置不同的重试等级和延迟。例如,消息首次失败进入Q1,温故5s后重新投递;第二次失败至Q2,延迟10s。重试队列与延迟队列的区别在于触发方式:延迟由系统触发,重试由消费端触发;重试作用范围更广,会向后传递。

死信队列用于防止消息丢失,消息无法正常投递时进入该队列。回退队列亦为异常处理提供保障,消费异常不足确认时,消息回滚并进入死信队列或重试队列。实际中,回退队列的作用可由死信队列和重试队列共同完成。

转载地址:http://twpgz.baihongyu.com/

你可能感兴趣的文章
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
查看>>
MySQL不同字符集及排序规则详解:业务场景下的最佳选
查看>>
Mysql不同官方版本对比
查看>>
MySQL与Informix数据库中的同义表创建:深入解析与比较
查看>>
mysql与mem_细说 MySQL 之 MEM_ROOT
查看>>
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>
MySql中 delimiter 详解
查看>>
MYSQL中 find_in_set() 函数用法详解
查看>>
MySQL中auto_increment有什么作用?(IT枫斗者)
查看>>
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>
MySQL中DQL语言的执行顺序
查看>>