後端人員如何應對線上故障
分享一個大神的人工智慧教程。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到人工智慧的隊伍中來!點選瀏覽教程
1、快速定位故障
在複雜的系統架構中,尤其是微服務架構中,一旦發生故障可能會出現“多米諾骨牌效應”,系統會由一個故障點波及到其他關聯的模組。那麼一旦定位不及時,不僅僅會擴大故障,還可能會由於多個模組都在報錯、報警,給故障源的定位帶來困難。因此我們要有一套快速的故障定位方法。我比較推薦的就是 全鏈條投入排查。即一旦發現線上故障,當前系統以及相關係統所對應的開發、運維、測試等方向,各抽調對口人,全都叫到線上去處理問題,各自排查各自模組/服務,如果排查自己負責的範圍沒有問題就可以在旁邊待命,以備在需要的時候進行配合。重點就是從一開始就一起介入。不要小看這一點,看似平淡無奇,但實際場景下,要能保證有序的這麼去做到,還是挺難的,亞馬遜都是通過一套制度和任務分配系統來保障這種全鏈路排查方案得以持久實施的。其實這麼做的目的就是在跟故障搶時間。我們平時大多數情況下是怎麼做的呢,收到一個線上功能的錯誤報告,然後對應功能的前端同學開始排查,排查了半天,發現是後端介面不正常,將問題轉到後端同學繼續排查,後端同學經過一段時間排查後,發現是運維問題或者是依賴的其他模組的問題,就再次將問題轉到運維或者其他專案組,然後後者接手開始排查。這樣來來去去,等定位到真正故障源的時候,黃花菜都涼了,不僅導致服務長時間的不可用,而且故障隨著時間的推移也在不斷擴大波及面,問題也越來越難以定位。
2、故障止損和恢復
在故障源定位之後,一般恢復系統的常用手段無非下面幾種:
重啟:部分問題是可以通過重啟的手段來臨時恢復的,以保障系統的暫時可用,但後續還需有其他方法徹底解決問題
限流和降級:這其實還是一個臨時手段,通過將部分非核心繫統進行降級和限制流量處理,來避免核心業務受到影響
回滾:如果屬於更新的程式碼BUG導致的問題,一般可通過回滾上一個程式版本來迅速恢復,不過會導致部分新功能不可用
緊急更新:這個方式會經常被用到,明確定位問題源後,迅速修復程式碼或元件,然後快速更新上線,比較依賴整個團隊的上線協同能力
故障發生前的準備
設定故障等級:這是一個所有專案共同認定的等級劃分,一般無須為單獨專案設定
服務-資源圖:需要針對專案有完整的服務與資源對應圖,以便能夠速查
專案指標和應急方案:給系統設定風險閾值,超出閾值有應急方案提前準備著
故障演練:針對特定的重大的風險點,進行演練,以驗證上述的應急方案可用性
灰度釋出:也就是對要釋出的新版本進行A/B測試,是一種非常有效的產品驗證和功能改進的方法
故障發生後的覆盤
說到故障後覆盤,離不開的一個話題就是程式設計師的追責和懲罰。這其實是另一個主題了,不過這裡,我簡單的提一下我的建議:對於線上事故,理應追究責任,但無需懲罰(特別嚴重的問題或特別不能容忍的錯誤以外),最重要的其實是做好善後工作,避免下次再犯,從根本上反思,刨根問底,找出問題的根源。這其實也就是下面要聊到的 “Ask Some Whys”。重點來聊聊覆盤要做的事情吧
記錄故障處理全過程:
需要詳細的記錄下故障發現的時間,什麼途徑發現的,用了什麼樣的排查手段,什麼樣子的處理流程,處理過程中,幾點幾分做了什麼事情,將整個過程都一一的記錄下來。
分析故障原因:
需要將團隊成員聚在一起,進行討論,分析故障發生的原因,這裡的原因不是指表象的原因,需要剖析出問題的根源。
故障整改計劃:
針對當前故障要做哪些改進措施,應對類似問題,如何預防。給出可實施的方案以及時間計劃。同時對故障等級進行認定,以及團隊成員責任的追究和備案(但不提倡懲罰)。
如何應對線上故障
參考網路資深技術人員總結的線上故障解決如下:
相關文章
- 軟體測試初級人員如何應對職場面試?面試
- 如何和技術人員對話
- 如何應對伺服器硬碟故障伺服器硬碟
- 前端線上故障響應方法前端
- 如何快速處理線上故障
- 圖解:前端和後端開發人員的大PK圖解前端後端
- 如何對技術人員進行績效考核?
- 應對介面級的故障
- 關於 HTTP 後端人員需要了解的 20+ 圖片!HTTP後端
- 蘋果線上商店遭遇大面積服務中端故障蘋果
- 微軟針對初級程式開發人員開設線上學習網站微軟學習網站
- 技術人員該如何站好最後一班崗?
- 探究如何管理和領導遠端開發人員團隊
- 打造一個window桌面應用:線上聊天對話機器人機器人
- [Vue 牛刀小試]:第十六章 - 針對傳統後端開發人員的前端專案框架搭建Vue後端前端框架
- 一款適用於後端開發人員的(高顏值)後臺擴充套件後端套件
- 如何對Node應用"死後驗屍"
- 1.1.5 應用管理人員
- JPMS模組對於庫包開發人員的負面效應
- 對Android開發人員有幫助的10個應用Android
- 如何界定高素質IT人員?
- 技術人員如何去面試?面試
- 優秀的開發人員和測試人員應有的態度
- 金融行業如何應對線上欺詐?騰訊安全天御團隊線上答疑解惑行業
- 使用Java後端對Angular應用進行Docker化 -BhargavJava後端AngularDocker
- Good Loop:美國營銷人員應對Adland的氣候危機GoOOP
- 什麼對青年科研人員最重要?
- 機器人宣誓要消滅人類:我們該如何應對?機器人
- 請非技術人員不要對技術人員說這很容易實現
- iOS 14 隱私政策修改,產品人如何應對?iOS
- GitOps 如何改善開發人員和運維人員的日常工作?Git運維
- 遠端伺服器管理:IT人員的魔法手杖伺服器
- 路人開發對測試人員的看法
- 對初學ERP人員的建議
- 代理IP對裝修業務人員的作用
- 如何招聘一個外貿SEO推廣人員以及如何做後期的KPI考核?KPI
- 幾十萬人同時線上的直播間聊天,如何設計服務端架構?服務端架構
- 線上故障處理手冊