必备新版RabbitMQ教程-高性能消息队列RabbitMQ课程介绍-小滴课堂-11

第十一章 高级特性-RabbitMQ TTL死信队列+延迟队列 实战
第1集 高级特性之-RabbitMQ死信队列 + TTL介绍《上》
简介:讲解RabbitMQ的的死信队列+ TTL《上》

什么是TTL

单独消息进行配置ttl

整个队列进行配置ttl(居多)

time to live 消息存活时间

如果消息在存活时间内未被消费,则会别清除

RabbitMQ支持两种ttl设置

什么是rabbitmq的死信队列

没有被及时消费的消息存放的队列

什么是rabbitmq的死信交换机

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

消息有哪几种情况成为死信

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

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

队列的消息长度达到极限

结果:消息成为死信后,如果该队列绑定了死信交换机,则消息会被死信交换机重新路由到死信队列 

第2集 高级特性之-RabbitMQ死信队列 + TTL介绍《下》
简介:讲解RabbitMQ的的死信队列+ TTL《下》

RabbitMQ管控台消息TTL测试

expiration

单位ms(毫秒)

x-message-ttl

单位ms(毫秒)

队列过期时间使用参数,对整个队列消息统一过期

消息过期时间使用参数(如果队列头部消息未过期,队列中级消息已经过期,已经还在队列里面)

两者都配置的话,时间短的先触发

RabbitMQ Web控制台测试

新建死信队列 (和普通没区别)

死信交换机和队列绑定

新建普通队列,设置过期时间、指定死信交换机

测试:直接web控制台往product_qeueu发送消息即可

新建死信交换机(和普通没区别)

第3集 高级特性之-RabbitMQ 延迟队列介绍和应用场景
简介:讲解RabbitMQ的延迟队列和应用场景

什么是延迟队列

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

使用场景

通过消息触发一些定时任务,比如在某一固定时间点向用户发送提醒消息

用户登录之后5分钟给用户做分类推送、用户多少天未登录给用户做召回推送;

消息生产和消费有时间窗口要求:比如在天猫电商交易中超时未支付关闭订单的场景,在订单创建时会发送一条 延时消息。这条消息将会在 30 分钟以后投递给消费者,消费者收到此消息后需要判断对应的订单是否已完成支付。 如支付未完成,则关闭订单。如已完成支付则忽略

Cloud微服务大课训练营里面的应用

优惠券回收

商品库存回收

业界的一些实现方式

结合死信队列的特性,就可以做到延迟消息

定时任务高精度轮训

采用RocketMQ自带延迟消息功能

RabbitMQ本身是不支持延迟队列的,怎么办? 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值