方式一 延迟队列

订单系统下单后,MQ会立刻发送一条消息到一个正常的交换机Exchange中,交换机会把消息路由到队列Queue中,我们给这个队列设置一个30分钟的过期时间,当30分钟后,此时消息称为死信队列,将此死信队列绑定一个死信交换机,那么这个死信交换机会把这个消息在路由到它绑定的一个队列queue中,然后用一个库存系统监听一个队列,当订单系统发一条消息之后,过了30分钟库存系统收到这条消息。收到消息后判断订单状态,是否支付,支付了就什么也不做,未支付,取消订单,回滚库存。

方式二 定时任务

数据库有张订单表,每隔指定的时间可能是3秒也可能是5秒也可能是10秒,这个根据我的设定来,假设每隔5秒就进行一次订单表的查询,这个是只操作数据库,去查询所有状态里未支付的订单,再查询下单时间距离现在有没有超过30分钟,拿到符合条件的订单编号,根据订单编号将订单状态改为取消,再然后把对应的商品库存给他加回去

RabbitMQ订单超时(面试问答)相关推荐

  1. ribbonmq超时配置_使用RabbitMQ实现订单超时取消(延迟队列)

    使用RabbitMQ实现订单超时取消,大致流程: 生产者生产一条设置了TTL的延迟取消订单消息=>延迟队列交换机(通过绑定路由键)=>消息投递至延迟队列=>消息延迟队列时间到期=&g ...

  2. 订单超时未支付自动关闭的几种实现方案

    做电商,就会遇到订单超时问题,而且还经常被拿来面试提问! 今天,周末放假,抽时间给大家总结了几种订单超时未支付自动关闭的实现方案.同时,我手机还有几套电商类从零架构到实现的视频教程,如有需要,可以加我 ...

  3. 多线程面试题_100多线程和Java并发面试问答–最终清单(PDF下载)

    多线程面试题 在这篇文章中,我们将提供有关多线程和Java并发面试问答的综合文章. 编者注:并发始终是开发人员的挑战,编写并发程序可能非常困难. 引入并发时,有很多事情可能会崩溃,并且系统的复杂性会大 ...

  4. 拼夕夕订单超时未支付自动关闭实现方案!

    " 在开发中,往往会遇到一些关于延时任务的需求.例如:生成订单 30 分钟未支付,则自动取消:生成订单 60 秒后,给用户发短信. 对上述的任务,我们给一个专业的名字来形容,那就是延时任务. ...

  5. jdbc面试_JDBC面试问答

    jdbc面试 Welcome to JDBC Interview Questions and Answers. JDBC API is used to connect to relational da ...

  6. java并发多线程面试_Java多线程并发面试问答

    java并发多线程面试 Today we will go through Java Multithreading Interview Questions and Answers. We will al ...

  7. 订单超时自动取消3种方案——我们用这种!

    大家好,大家对电商购物应该都比较熟悉了,我们应该注意到,在下单之后,通常会有一个倒计时,如果超过支付时间,订单就会被自动取消. 下单 今天,我们来聊聊订单超时未支付自动取消的几种方案. 1.定时任务 ...

  8. 订单超时未支付的解决方案

    订单超时未支付的解决方案 定时任务实现 被动取消 JDK的延迟队列 代码演示 时间轮算法 代码演示 Redis zset 实现延迟任务 代码演示 MQ 延时消息 代码演示 写在最后 在前面的文章 第三 ...

  9. Android面试问答

    上次更新时间:2019年1月4日 我们的Android面试问答集全部涉及可在面试中使用的不同类型的问题,以便雇主测试您的技能和知识. 在以下各节中,我们将讨论有关Android OS的功能,命令行工具 ...

最新文章

  1. delphi listview动态添加图片_网站图片如何优化适合收录
  2. tomcat8.5 远程访问 manager页面
  3. docker拷贝文件
  4. 云开发是啥?看看它在编程导航项目的实践
  5. 磁盘Raid方案简单对比
  6. android command line tools 下载,Mac 安装 Android commandlinetools 各种报错的问题
  7. 菜鸟裹裹电脑版_天猫淘宝“基本盘”放缓,阿里云、菜鸟爆发,马云迎来拐点?...
  8. 最详细版本|UI2Code智能生成Flutter代码——版面分析篇...
  9. TLSF内存分配器记录
  10. 最好的网盘--主流网盘大比拼
  11. 自媒体原创度检测工具有哪些?这几个可以免费用
  12. linux PCI/PCIe驱动之pci_read_bases的理解
  13. 文本乱码怎么办?教你一招批量修改文本文件的编码格式,轻松解决乱码问题
  14. Svn修改自己已经提交的备注
  15. JLINK V8更新固件
  16. java 阈值 告警_处理Java异常告警最佳实践
  17. ABP VNext学习日记21
  18. CH375 usb芯片的引脚图及中文资料
  19. 分享两个CAD模型网站
  20. jQuery - Chaining

热门文章

  1. VSOMEIP双机通信
  2. java 调用动态库打包sdk
  3. [前端学习笔记] jQuery基础知识整理
  4. 连连看游戏思维拓展(java版)
  5. 使用Word写测试用例遇到页码从第三页开始问题
  6. 京东技术人才之路:谁会成为京东下一个12年的希望?...
  7. 【斜率优化】[APIO2010]特别行动队
  8. PDF转换控件activePDF DocConverter WBE
  9. 初来乍到 新人报道
  10. java反序列化——apache-shiro复现分析