无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

訂單支付超時,自動關(guān)閉訂單實現(xiàn)

2023-03-16 19:42 作者:Erwin_Feng  | 我要投稿

> 微信公眾號:馮文議(ID:fwy-world)


大家好!


今天跟大家一起探討一個場景:用戶對商品下單,約定30分鐘沒支付,超時訂單將被系統(tǒng)自動關(guān)閉。


你會如何實現(xiàn)呢?


## 早期方案:掃表


定時任務,每分鐘去查詢數(shù)據(jù)庫,查詢超時沒有支付的,就修改訂單狀態(tài)。


![掃表實現(xiàn)](https://images.fengwenyi.com/2023/fe0f039b282940e8aa47d900d531552d.jpg)


思路清晰,實現(xiàn)起來也比較簡單,但是遇到的問題也比較多,比如:


1. 每分鐘都去查詢數(shù)據(jù)庫,數(shù)據(jù)庫的壓力比較大。

2. 有一定的延遲。


## 方案升級:消息隊列


用戶下單成功,就發(fā)送到消息隊列。時間到了,消費端拿到數(shù)據(jù),就查詢數(shù)據(jù),判斷訂單狀態(tài),如果沒有支付,就修改訂單狀態(tài)。


![消息隊列實現(xiàn)](https://images.fengwenyi.com/2023/55babdeff14c43ba8f4ddd50eb0bd472.jpg)


目前落地的是采用 RabbitMQ 的延遲隊列。用戶創(chuàng)建訂單成功,就加入到 MQ 的延遲隊列,時間到了,就會自動消費,然后關(guān)單。


關(guān)于 RabbitMQ 延遲隊列,可以看這篇文章:[Spring Boot and RabbitMQ 初探](https://mp.weixin.qq.com/s/v-ZuBwd5NMlG6a40sdiVXw) 中關(guān)于【延遲隊列】部分!


---


好了,今天的分享就到這里了。我是小馮,一名Java程序員,專注于程序設計和開發(fā),如果你在開發(fā)上遇到問題,歡迎一起交流,微信公眾號:馮文議(ID:fwy-world)。


訂單支付超時,自動關(guān)閉訂單實現(xiàn)的評論 (共 條)

分享到微博請遵守國家法律
成都市| 柯坪县| 靖州| 巍山| 陇西县| 廊坊市| 鹤山市| 萍乡市| 吴江市| 重庆市| 石城县| 惠来县| 宁津县| 民和| 瑞昌市| 闽清县| 翼城县| 泽普县| 观塘区| 墨竹工卡县| 砀山县| 乐亭县| 南部县| 金湖县| 新宾| 福建省| 宁陕县| 杨浦区| 连山| 南宁市| 邳州市| 凯里市| 永吉县| 遂川县| 搜索| 威海市| 哈巴河县| 深圳市| 盱眙县| 宜兴市| 绥芬河市|