生產(chǎn)事故:年終獎殺手雖遲但到!
點擊關(guān)注"故里學(xué)Java"
右上角"設(shè)為星標"好文章不錯過
事故描述:
上周客戶的大促活動中,客戶反饋,存在部分已發(fā)貨的訂單退款成功,造成了慘重的損失,直接影響在客戶信任感。事后我們對這次事故進行了專項復(fù)盤。
造成影響:
涉及問題訂單100余單,累計金額近萬元。
什么原因造成的?
WMS發(fā)貨完成后,回傳OMS物流信息,調(diào)用訂單發(fā)貨接口失敗,訂單發(fā)貨接口未做特殊異常處理,導(dǎo)致訂單狀態(tài)未能及時同步給平臺。正確的業(yè)務(wù)邏輯應(yīng)該是買家發(fā)起退款申請,在客服人員手動點擊發(fā)貨重新同步平臺狀態(tài)之前,進行退款申請,OMS系統(tǒng)自動攔截WMS發(fā)貨,此時因為WMS已發(fā)貨成功,所以攔截失敗,但是平臺訂單狀態(tài)未更新,所以退款申請默認同意。核心問題是訂單服務(wù)的其中一個實例加載mq配置文件失敗,導(dǎo)致這個實例不能發(fā)送mq消息,缺乏消息重試機制。
為什么沒有及時發(fā)現(xiàn)問題?
項目是客戶私服部署,由客戶的運維進行發(fā)布維護,監(jiān)控系統(tǒng)被替換成客戶自己搞的監(jiān)控系統(tǒng)。
對于異常的報警機制不完善。
發(fā)現(xiàn)異常時做了哪些事情?
通過分析日志,定位到問題 聯(lián)系客戶運維人員剔除出問題的訂單服務(wù)實例 技術(shù)手段排查出問題訂單交由客戶業(yè)務(wù)人員進行問題訂單攔截。
以后如何避免?
通過對這次事故的復(fù)盤,針對這次的事故的解決方案如下:
接口異常及時拋出,供調(diào)用方進行對應(yīng)業(yè)務(wù)邏輯處理 消息發(fā)送服務(wù)提供自動重試機制,如果發(fā)送失敗,系統(tǒng)自動重試3次,對異常進行落庫處理 對重要節(jié)點的異常提供短信和釘釘消息提醒,技術(shù)及時處理 完善監(jiān)控系統(tǒng),監(jiān)控每個實例狀態(tài),及時處理問題容器。
事故總結(jié):
正視每一次事故,刨析事故原因,有針對性的解決事故原因,對于事故的預(yù)防工作該如何優(yōu)化,避免下一次更嚴重的事故。希望技術(shù)人敬畏每一行代碼!
- END -
好文推薦(點擊可閱讀):
加油打工人?。?!

點個贊,證明你還愛
評論
圖片
表情
