如何建立線上問題快速響應機制

2021-09-19 08:19:28 字數 1549 閱讀 5010

線上問題通常是指大規模影響生產服務的問題或事件,通俗點說就是"踩雷",線上問題處理的流程也可以看成是"踩坑"、「跳坑」、「填坑」、「避坑」,優先順序從高到底依次排序;

線上問題的處理,不僅是一項技術活,更是對技術人員/技術團隊反應能力、決策能力、判定能力、組織能力的考驗。面對突發的生產故障,需要快速定位問題,找到解決方案,快速實施解決方案並不是一件容易的事情。本文主要包括如下內容:線上故障處理的目標、思路、步驟、以及如何建立快速響應機制;

2.1「跳坑」:— —快速恢復線上服務,或者將線上問題的影響降到最低

線上服務的可用性,直接影響著客戶的利益,一旦線上服務無法使用,往往會給公司帶來嚴重的經濟損失和賠償金,更嚴重的會給整個公司或團隊帶來惡劣的名聲。所以出現線上問題的第一要務就是盡快恢復線上服務,及時不能快速恢復也要提供規避方案,想盡方法將影響降到最低;

2.2「填坑」:— —快速定位問題產生的根本原因,從根本上解決問題;

在恢復線上服務,盡最大可能減少使用者損失外,還需要徹查產生問題的根本原因;一般來說,跳坑和填坑二者是並行的,完成「填坑」意味著「跳坑」結束,但是跳坑也有一些非常規手法,如:重啟服務,增加熔斷機制(過載保護)/服務降級、請求閾值控制等;

2.3「避坑」:— —舉一反三,以此及彼

定位到根本問題並解決之後,最重要的還是舉一反三,團隊中的流程/規範/制度是否需要優化,模組之間最薄弱或最容易受到攻擊的地方在哪,該問題在其他團隊或系統中是否存在?通過這樣的不斷總結和批評,最終形成乙份故障報告,總結問題出現原因和解決方案;

線上問題一般都是會有通過以下幾種途徑傳遞到研發團隊,嚴重程度依次從低到高排列:

在確定是線上問題之後,我們應該快速定位故障點,以便對症下藥,快速解決問題。故障定位就是乙個"收集資訊"—>「提出假設」—>「推理驗證」—>「進一步定位問題」;當然,生產線上往往是不允許直接驗證的,需要在測試環境進行業務場景/效能場景的驗證;一般來說, bug的快速定位,可以從以下幾點方面初步考慮,

很多問題的產生往往都是多個條件同時滿足時才會出現,所以問題的定位工作往往會伴隨著很大的挑戰。在定位問題過程中,講究「快」、「準」、「狠」,快速響應並準確定位到問題產生原因後,及時給出解決方案,避免應時間成本的不必要增加。

故障發現後,接下來的故障修復就不是什麼非常困難的事了,另外這裡主要說下實在無法定位故障原因的一些非常規手法;

排除故障之後,需要進行線上問題的解決流程進行反思和總結,找出流程中不合理或繁雜的地方,從而及時更新生產故障解決流程,必要時可以發起緊急會議,故障參與人員一起開會討論問題的產生原因,最終輸出乙份詳盡的故障報告;另外追溯故障的目的不是為了追溯責任,更重要的是為了大家長記性,避免往後的研發中或其他團隊跳進之前的坑里;

上面談了線上問題的發現,定位、排除和追溯,但是問題的快速處理,需要很多基礎設施的支援,它們都是線上問題處理最必須的條件。

以上,對系統故障的整個鏈路進行了討論;總之,線上排障的第一目標是恢復線上服務或者降低對線上服務的影響,關鍵點在於快速二字,在『跳坑』-『填坑』之後,還需要總結以便『避坑』。另外在平時的系統中也要建立相對應的基礎設施,如完整的系統監控機制,完善的日誌trace體系,以及通暢的問題反饋渠道。

線上的專案如何快速定位問題

記得面試的時候就被問到過這個問題 專案出了問題,是如何快速定位並解決的,當時支支吾吾解釋了半天,最後說專案上線後就不是自己負責了 現在想想真的是沒有經驗啊。現在馬上就要過節了,因為是網際網路公司,所以假期也不能完全放鬆,有了問題也要第一時間定位問題,找到解決辦法。所以我們公司還給大家配了隨身wifi...

mysql表建立在哪 mysql如何建立表

在mysql中,可以使用 create table 語句建立表 其語法格式為 create table 表定義選項 表選項 分割槽選項 其中 表定義選項 的格式為 建立資料表的過程是規定資料列的屬性的過程,同時也是實施資料完整性 包括實體完整性 引用完整性和域完整性 約束的過程。下面本篇文章介紹一下...

如何快速處理線上故障

線上故障通常是指大規模的影響線上服務可用性的問題或者事件,通俗點講就是 掉 坑 裡了,這個 坑 就是線上故障!線上故障的處理過程可以形象地表達為 踩坑 跳坑 填坑 避坑 線上故障的處理不僅是一項技術活,更是對技術人員 技術團隊反應能力 決策能力 判定能力 組織能力的考驗。面對突發的生產故障,需要快速...