C# RabbitMQ延迟队列功能实战项目演练

1、需求背景

当用户在商城上进行下单支付,咱们假设若是8小时没有进行支付,那么就后台自动对该笔交易的状态修改成订单关闭取消,同时给用户发送一份邮件提醒。那么咱们应用程序如何实现这样的需求场景呢?在以前的《C# Redis缓存过时实现延迟通知实战演练》分享课程中阿笨最后总结的时候说过Redis Pub/Sub是一种并不可靠地消息机制,他不会作信息的存储,只是在线转发,那么确定也没有ack确认机制,另外只有订阅段监听时才会转发!咱们是否有更好的方式去实现呢?今天给你们分享的比较好的解决方案就是经过RabbitMQ的TTL(time to live)和DLX(Dead-Letter-Exchange)来实现延迟任务。缓存

1.一、本次分享课程适合人群以下:学习

一、有必定的NET开发基础并对RabbitMQ技术有必定了解和认识。spa

二、喜欢阿笨的干货分享课程的童鞋们。队列

1.二、一句话总结今天咱们要学习的目标和成果?开发

C#如何经过RabbitMQ如何实现延迟队列功能。消息队列

若是您对本次《C#RabbitMQ延迟队列功能实战项目演练》分享课程感兴趣的话,那么请跟着阿笨一块儿学习吧。it

废话很少说,直接上干货,咱们不生产干货,咱们只是干货的搬运工。io

2、场景介绍

2.一、什么是延迟队列?class

2.二、使用RabbitMQ实现延迟任务应用场景后台

3、思路讲解

3.一、实现思路

3.二、实现方案

4、实现步骤

1)、基于队列方式实现延迟队列(消息队列中全部消息的过时TTL同样)

2)、基于消息方式实现延迟队列(消息队列中单个消息的过时TTL不同)

5、课后思考与总结

相关文章
相关标签/搜索