关于后端:订单支付超时自动关闭订单实现

45次阅读

共计 445 个字符,预计需要花费 2 分钟才能阅读完成。

微信公众号:冯文议(ID:fwy-world)

大家好!

明天跟大家一起探讨一个场景:用户对商品下单,约定 30 分钟没领取,超时订单将被零碎主动敞开。

你会如何实现呢?

晚期计划:扫表

定时工作,每分钟去查询数据库,查问超时没有领取的,就批改订单状态。

思路清晰,实现起来也比较简单,然而遇到的问题也比拟多,比方:

  1. 每分钟都去查询数据库,数据库的压力比拟大。
  2. 有肯定的提早。

计划降级:音讯队列

用户下单胜利,就发送到音讯队列。工夫到了,生产端拿到数据,就查问数据,判断订单状态,如果没有领取,就批改订单状态。

目前落地的是采纳 RabbitMQ 的提早队列。用户创立订单胜利,就退出到 MQ 的提早队列,工夫到了,就会主动生产,而后关单。

对于 RabbitMQ 提早队列,能够看这篇文章:Spring Boot and RabbitMQ 初探 中对于【提早队列】局部!


好了,明天的分享就到这里了。我是小冯,一名 Java 程序员,专一于程序设计和开发,如果你在开发上遇到问题,欢送一起交换,微信公众号:冯文议(ID:fwy-world)。

正文完
 0