前公司一次線上問題解決的旅程

Jacky發表於2020-07-30

前某公司一次線上問題解決的旅程

背景
在前某公司的 2B 業務某服務做測試工作,基本業務為上游收到訊息後,發給本系統,本系統處理結束後訊息發給下游

問題的出現

  1. 本系統處理新訊息時報 Exception,未能入庫和計算,push 了下游不能預料的訊息給下游
  2. 下游採取了預設路徑處理該訊息

當時處理

  1. 發生問題後,迅速修改程式碼和上線,半小時左右問題消失
  2. 需要重新處理這半個小時的業務

後續處理

  1. ELK log 系統透過 elastic search 工具抽取所有業務資料,並去重 - 測試做
  2. 同步 ELK log 系統抽取最早的一份異常資料,分析 log,並開發程式將 log 重新整理為 rabbitMQ 的標準報文格式 - 開發做
  3. 1 的檔案經 2 的程式處理後獲得裸報文資料檔案 - 開發做
  4. 透過 postman 批次傳送 3 獲得的訊息,觸發重新入庫,計算和釋出訊息 - 測試做

一些想法

  1. ELK 的 log 過濾和分析還是很好用的
  2. message 是分散式系統的基本功
  3. 談責任,開發測試反目成仇;談補救,上陣親兄弟各司其職

現在滾蛋了,還是很感恩和幾個好兄弟一起做專案的時光啊

相關文章