日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

啊!你的服务又挂了?

發(fā)布時(shí)間:2025/3/19 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 啊!你的服务又挂了? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

譯者前言
Troubleshooting 即故障排查檢修,這絕對不是一項(xiàng)簡單的任務(wù),不同技術(shù)體系之間天差地別,這個(gè)問題可有統(tǒng)一答案?因?yàn)榫唧w的技術(shù)終將過時(shí),所以本文不談任何具體的技術(shù)細(xì)節(jié),而是針對 troubleshooting 提出十條方法論。

本文原作者:Steve Mushero
原文鏈接:?https://medium.com/faun/shit-breaks-dao-of-troubleshooting-6cc1b3869ce0

1. 故障無法避免

啊,你的服務(wù)又掛了,很不幸。
更不幸的是,因?yàn)樨?fù)載高、業(yè)務(wù)復(fù)雜,它掛掉是常事。
它以一種不能被 “自動(dòng)擴(kuò)容”、“加容器”、“重啟” 等手段輕易 “解決” 的方式掛掉,花里胡哨的調(diào)度系統(tǒng)此時(shí)也起不到作用。當(dāng)然我不是說這些方法沒用,畢竟它們各有各的場景。
有時(shí)候,你面對一個(gè)故障,5 分鐘就能定位原因,但作為 “老兵” 的你一定懂得這背后需要多少經(jīng)驗(yàn)積累和努力,常言道 “功夫都在戲外”。 如果你恰好用了微服務(wù)(micro-service)、無服務(wù)器(server-less)、無限可分割(infinitely-divisible)、無處不在的松散連接組件(loosely-connected pieces and parts)之類的新玩意,修復(fù)起來就更難了。
何解?具體技術(shù)早晚會過時(shí),而方法論則具備長久生命力。唯有 “道”(指方法論)才是應(yīng)對復(fù)雜系統(tǒng)的指路明燈。

2. 對一切建模

要能說出每個(gè)部件在模型中的位置,它們?nèi)绾谓换ァ⑷绾闻渲谩l件允許的話,連它的行為也要弄清楚。
拿到并看懂邏輯架構(gòu)圖,有必要的話,物理架構(gòu)圖、網(wǎng)絡(luò)架構(gòu)圖也一樣。搞清楚不同尺度上的分層、分組。

3. 可知?jiǎng)t盡知

盡你所能,弄清楚所有的配置和狀態(tài)。
這確實(shí)很難,看懂倉庫里的代碼、配置文件、.env、基礎(chǔ)結(jié)構(gòu)即代碼(infrastructure-as-code systems)只是毛毛雨,更不要說運(yùn)行時(shí)動(dòng)態(tài)的部分。但不管你喜不喜歡,真正運(yùn)行著的系統(tǒng)就是一切真相的源頭。

4. 誰動(dòng)了環(huán)境?

最近有什么被動(dòng)過?由誰?何時(shí)?操作對象是什么?效果是什么?誰登過服務(wù)器?誰 push 過代碼?改了什么配置?諸如此類。
然后,哪些行為發(fā)生了變化。例如誰的延遲發(fā)生了變化,相關(guān)部分的動(dòng)力學(xué)[1]變化,錯(cuò)誤率是否有變化,哪些資源負(fù)載或可用性發(fā)生了變化?哪些變化重要呢?

5. 請專家

直接或間接地應(yīng)用知識和經(jīng)驗(yàn),了解事物之間的關(guān)系、依賴,尤其是動(dòng)力學(xué)及與之關(guān)聯(lián)的失效模式[2]。動(dòng)用一切資源去找最懂行的人,問朋友同事、在論壇社區(qū)發(fā)帖、在社交網(wǎng)絡(luò)提問、在 IRC 或郵件列表提問……如果專家是“鬼魂”,那就“作法招魂”[3]。到現(xiàn)場指導(dǎo)是最好的、實(shí)在不行就遠(yuǎn)程。條件允許的話,使用可用的專家系統(tǒng)或規(guī)則引擎,這些都是被編碼過的專業(yè)知識。

6. 提問要清晰準(zhǔn)確

提問前請務(wù)必再三觀察和思考,雖然提供給專家的信息永遠(yuǎn)是片面的,但錯(cuò)誤的提問神仙難救,而某些低風(fēng)險(xiǎn)的、清晰而準(zhǔn)確的提問,則連人腦都不需要,可以直接被規(guī)則引擎快速地自動(dòng)解答,這就是提問質(zhì)量的差距。

7. 局部小規(guī)模實(shí)驗(yàn)

可對系統(tǒng)做微小的改動(dòng)或調(diào)整,觀察其影響。
這招非常好用,尤其是使用排除法時(shí)、探究組件之間的關(guān)系、驗(yàn)證某些東西不生效的猜想時(shí)。

8. 提前做排除

別浪費(fèi)時(shí)間在明顯錯(cuò)誤的方向上,它會吞噬掉大量的時(shí)間和精力,注意力被轉(zhuǎn)移,資源被浪費(fèi),不要等到最后才懊悔沒早點(diǎn)排除錯(cuò)誤選項(xiàng)。問題 “是” 什么固然重要,但永遠(yuǎn)別忽視問題 “不是” 什么,要持續(xù)不斷地根據(jù)邏輯和經(jīng)驗(yàn)做排除。

9. 小心求證

排查到最后可能以自相矛盾的結(jié)論收尾,某些部分似是而非,最終問題無解。用馬克 · 吐溫的話說:“麻煩的不是未知,而是你深信不疑,卻發(fā)現(xiàn)事實(shí)并非如此”。
所以在排查過程中要樂于不斷挑戰(zhàn)和測試自己的基本假設(shè)、基本事實(shí)與真相,因?yàn)樗剖嵌堑牟糠滞癫卦谄渲小?/p>

10. 尋求慰藉

排查問題是困難的,時(shí)間和工具永遠(yuǎn)都不夠,并且總是伴隨著巨大壓力。時(shí)常停下來,重新思考和審視已知的一切,觀察它們?nèi)绾芜B接與相互影響,真相經(jīng)常以這樣匪夷所思的方式被發(fā)現(xiàn)……

故障無法避免,遵循以上十條真理,答案終將到來。

注解:
[1] Dynamics 即動(dòng)力學(xué),這里理解為需要分辨指標(biāo)中誰是因,誰是果,以及影響程度。對指標(biāo)的解讀是關(guān)鍵。
[2] Failure Modes 即失效模式,詳見百科
https://en.wikipedia.org/wiki/Failure_mode_and_effects_analysis。這里強(qiáng)調(diào)的是有效利用前人的經(jīng)驗(yàn)。
[3] 原文是 Ouija 即通靈板,流行在歐美的一種占卜方式類似筆仙,這里的意思是從一切來源尋求專業(yè)知識,有必要的話連鬼魂都要問。

總結(jié)

以上是生活随笔為你收集整理的啊!你的服务又挂了?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。