日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

商城系统订单超时自动取消解决方案

發布時間:2023/12/14 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 商城系统订单超时自动取消解决方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

功能說明

用戶下單后 30 分鐘如果沒付款自動取消掉,然后釋放庫存,下面簡單介紹訂單超時自動取消的幾種常用的方案。

1.定時輪詢

最簡單的方法,寫好取消訂單的邏輯,一般是取訂單表待付款狀態的訂單,然后做遍歷取消處理,使用Linux系統的crontab定時執行取消訂單功能。

優點:簡單快捷,業務小的可以考慮

缺點:

  • 由于Linux的限制,只能精確到秒
  • 輪詢頻率不能自主控制,如果運維和開發分開管理,每次調整需要運維配置修改
  • 如果第一次輪詢耗時長,第二次輪詢又開始了,會造成任務重復執行
  • 占用數據庫資源
  • 不能并發執行

2.任務調度

一些web框架會帶有任務調度的功能,像php的Laravel框架。

優點:

  • 輪詢頻率可以做到用代碼來控制,不完全依賴系統;
  • 任務可以做到不重復執行

缺點:跟定時輪詢差不多

3.延遲隊列處理

如果系統有太多的訂單需要處理,那么處理的時間就要很長,假如第一次輪詢還沒結束,第二次又開始了,就會造成任務的重復執行,同時抑制占用數據庫資源,造成數據庫壓力大,用延遲隊列做取消訂單處理,設定延遲時間為提交訂單之后的30分鐘執行,效率會高很多,常用的延時隊列有

  • redis(訂閱鍵的失效事件)
  • 框架自帶的隊列(例如Laravel框架自帶的隊列)
  • rabbitMQ延遲隊列

優點:

  • 不需要對訂單表輪詢處理,減少數據庫壓力
  • 不會重復執行
  • 效率高
  • 可配合多線程處理
  • 業務量大的方便做集群
  • 不依賴系統的crontab

缺點:可能需要額外安裝隊列程序

總結

以上是生活随笔為你收集整理的商城系统订单超时自动取消解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。