點擊關注"故里學Java"
右上角"設為星標"好文章不錯過
事故描述:
上周客戶的大促活動中,客戶反饋,存在部分已發貨的訂單退款成功,造成了慘重的損失,直接影響在客戶信任感,事后我們對這次事故進行了專項復盤,
造成影響:
涉及問題訂單100余單,累計金額近萬元,
什么原因造成的?
WMS發貨完成后,回傳OMS物流資訊,呼叫訂單發貨介面失敗,訂單發貨介面未做特殊例外處理,導致訂單狀態未能及時同步給平臺,正確的業務邏輯應該是買家發起退款申請,在客服人員手動點擊發貨重新同步平臺狀態之前,進行退款申請,OMS系統自動攔截WMS發貨,此時因為WMS已發貨成功,所以攔截失敗,但是平臺訂單狀態未更新,所以退款申請默認同意,核心問題是訂單服務的其中一個實體加載mq組態檔失敗,導致這個實體不能發送mq訊息,缺乏訊息重試機制,
為什么沒有及時發現問題?
專案是客戶私服部署,由客戶的運維進行發布維護,監控系統被替換成客戶自己搞的監控系統,
對于例外的報警機制不完善,
發現例外時做了哪些事情?
-
通過分析日志,定位到問題
-
聯系客戶運維人員剔除出問題的訂單服務實體
-
技術手段排查出問題訂單交由客戶業務人員進行問題訂單攔截,
以后如何避免?
通過對這次事故的復盤,針對這次的事故的解決方案如下:
-
介面例外及時拋出,供呼叫方進行對應業務邏輯處理
-
訊息發送服務提供自動重試機制,如果發送失敗,系統自動重試3次,對例外進行落庫處理
-
對重要節點的例外提供短信和釘釘訊息提醒,技術及時處理
-
完善監控系統,監控每個實體狀態,及時處理問題容器,
事故總結:
正視每一次事故,刨析事故原因,有針對性的解決事故原因,對于事故的預防作業該如何優化,避免下一次更嚴重的事故,希望技術人敬畏每一行代碼!
- END -
好文推薦(點擊可閱讀):
-
剛來的大兄弟在這個小問題上翻車了,你確定不看一下?
-
Mybatis 中xml和注解映射,so easy啦
-
我是這樣跟面試官講垃圾回收的
加油打工人!!!
點個贊,證明你還愛
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/239632.html
標籤:其他
上一篇:資料型別轉換——經典面試題
