RabbitMQ订单超时(面试问答)
方式一 延迟队列
订单系统下单后,MQ会立刻发送一条消息到一个正常的交换机Exchange中,交换机会把消息路由到队列Queue中,我们给这个队列设置一个30分钟的过期时间,当30分钟后,此时消息称为死信队列,将此死信队列绑定一个死信交换机,那么这个死信交换机会把这个消息在路由到它绑定的一个队列queue中,然后用一个库存系统监听一个队列,当订单系统发一条消息之后,过了30分钟库存系统收到这条消息。收到消息后判断订单状态,是否支付,支付了就什么也不做,未支付,取消订单,回滚库存。
方式二 定时任务
数据库有张订单表,每隔指定的时间可能是3秒也可能是5秒也可能是10秒,这个根据我的设定来,假设每隔5秒就进行一次订单表的查询,这个是只操作数据库,去查询所有状态里未支付的订单,再查询下单时间距离现在有没有超过30分钟,拿到符合条件的订单编号,根据订单编号将订单状态改为取消,再然后把对应的商品库存给他加回去
RabbitMQ订单超时(面试问答)相关推荐
- ribbonmq超时配置_使用RabbitMQ实现订单超时取消(延迟队列)
使用RabbitMQ实现订单超时取消,大致流程: 生产者生产一条设置了TTL的延迟取消订单消息=>延迟队列交换机(通过绑定路由键)=>消息投递至延迟队列=>消息延迟队列时间到期=&g ...
- 订单超时未支付自动关闭的几种实现方案
做电商,就会遇到订单超时问题,而且还经常被拿来面试提问! 今天,周末放假,抽时间给大家总结了几种订单超时未支付自动关闭的实现方案.同时,我手机还有几套电商类从零架构到实现的视频教程,如有需要,可以加我 ...
- 多线程面试题_100多线程和Java并发面试问答–最终清单(PDF下载)
多线程面试题 在这篇文章中,我们将提供有关多线程和Java并发面试问答的综合文章. 编者注:并发始终是开发人员的挑战,编写并发程序可能非常困难. 引入并发时,有很多事情可能会崩溃,并且系统的复杂性会大 ...
- 拼夕夕订单超时未支付自动关闭实现方案!
" 在开发中,往往会遇到一些关于延时任务的需求.例如:生成订单 30 分钟未支付,则自动取消:生成订单 60 秒后,给用户发短信. 对上述的任务,我们给一个专业的名字来形容,那就是延时任务. ...
- jdbc面试_JDBC面试问答
jdbc面试 Welcome to JDBC Interview Questions and Answers. JDBC API is used to connect to relational da ...
- java并发多线程面试_Java多线程并发面试问答
java并发多线程面试 Today we will go through Java Multithreading Interview Questions and Answers. We will al ...
- 订单超时自动取消3种方案——我们用这种!
大家好,大家对电商购物应该都比较熟悉了,我们应该注意到,在下单之后,通常会有一个倒计时,如果超过支付时间,订单就会被自动取消. 下单 今天,我们来聊聊订单超时未支付自动取消的几种方案. 1.定时任务 ...
- 订单超时未支付的解决方案
订单超时未支付的解决方案 定时任务实现 被动取消 JDK的延迟队列 代码演示 时间轮算法 代码演示 Redis zset 实现延迟任务 代码演示 MQ 延时消息 代码演示 写在最后 在前面的文章 第三 ...
- Android面试问答
上次更新时间:2019年1月4日 我们的Android面试问答集全部涉及可在面试中使用的不同类型的问题,以便雇主测试您的技能和知识. 在以下各节中,我们将讨论有关Android OS的功能,命令行工具 ...
最新文章
- delphi listview动态添加图片_网站图片如何优化适合收录
- tomcat8.5 远程访问 manager页面
- docker拷贝文件
- 云开发是啥?看看它在编程导航项目的实践
- 磁盘Raid方案简单对比
- android command line tools 下载,Mac 安装 Android commandlinetools 各种报错的问题
- 菜鸟裹裹电脑版_天猫淘宝“基本盘”放缓,阿里云、菜鸟爆发,马云迎来拐点?...
- 最详细版本|UI2Code智能生成Flutter代码——版面分析篇...
- TLSF内存分配器记录
- 最好的网盘--主流网盘大比拼
- 自媒体原创度检测工具有哪些?这几个可以免费用
- linux PCI/PCIe驱动之pci_read_bases的理解
- 文本乱码怎么办?教你一招批量修改文本文件的编码格式,轻松解决乱码问题
- Svn修改自己已经提交的备注
- JLINK V8更新固件
- java 阈值 告警_处理Java异常告警最佳实践
- ABP VNext学习日记21
- CH375 usb芯片的引脚图及中文资料
- 分享两个CAD模型网站
- jQuery - Chaining