高级特性之-RabbitMQ 延迟队列介绍和应用场景

DBC 1.6K 0

简介:讲解RabbitMQ的延迟队列和应用场景

什么是延迟队列

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

使用场景

通过消息触发一些定时任务,比如在某一固定时间点向用户发送提醒消息
用户登录之后5分钟给用户做分类推送、用户多少天未登录给用户做召回推送;
消息生产和消费有时间窗口要求:比如在天猫电商交易中超时未支付关闭订单的场景,在订单创建时会发送一条 延时消息。这条消息将会在 30 分钟以后投递给消费者,消费者收到此消息后需要判断对应的订单是否已完成支付。 如支付未完成,则关闭订单。如已完成支付则忽略

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

优惠券回收
商品库存回收

业界的一些实现方式

定时任务高精度轮训

采用RocketMQ自带延迟消息功能

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

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

高级特性之-RabbitMQ 延迟队列介绍和应用场景插图

发表评论 取消回复
表情 图片 链接 代码

分享