B Google SRE指導思想

2021-09-20 13:03:01 字數 1640 閱讀 2108

b. google sre指導思想

擁抱風險

服務質量目標

服務質量指標

常見指標

錯誤率系統吞吐量

可用性永續性:資料能夠完整儲存的時間

等等分類

通用的指標:正確性

使用者可見的服務系統:可用性、延遲、吞吐量

儲存系統:延遲、可用性和資料永續性

大資料系統:吞吐量、端到端延遲

彙總平均值:掩蓋分布變化和受長尾效應影響

分布(百分位)

標準化:需要形成sli模板

彙總間隔:每 1 分鐘彙總一次

彙總範圍:集群中的全部任務

度量頻率:每10秒一次

包含哪些請求:從黑盒監控任務發來的 http get請求

資料如何獲取:通過監控系統獲取伺服器端資訊得到

資料訪問延遲:從收到請求到最後乙個位元組被發出

服務質量目標:某個指標的目標值或者目標範圍

目標定義

目標的選擇

不要僅以目前的狀態為基礎選擇目標:例如系統重構會影響到slo等

保持簡單:質量指標盡可能的簡單

避免絕對值:目標以區間為宜,系統在沒有延遲增長的情況下無限擴張或許能夠做到,但是代價也是巨大的

slo越少越好

不要追求完美

案例:chubby:計畫內停機。當chubby的slo遠超預期的時候,會人為地停止服務,從而找出哪些服務對chubby不合理的依賴。

服務質量協議

分布式系統監控

觀點google趨向於使用監看和快速的監控系統配合高效的工具進行事後分析。我們會避免任何「魔法」系統 --- 例如試圖自動學習閾值或者自動檢測故障原因的系統

監控型別

白盒監控

黑盒監控

4個**指標

延遲:處理某個請求所需要的時間

流量:http請求數量,或者網路i/o速率,或者併發會話數

錯誤:有可能是顯示錯誤、隱式錯誤(返回錯誤資訊)、或者策略性錯誤(比如說超過1s返回就算錯)

飽和度:很多服務在資源占用達到100%之前,效能就已經嚴重下降了

長尾問題:例如平均響應時間100ms,但是1%的請求會佔到5s

分位數統計

分組:比如說0~10ms請求數,30~100ms請求數,等等

不同指標採用不同的精度

比如cpu 1分鐘的平均負載,可能措施峰值

年度可用性在99.9%的服務每分鐘檢測1~2次可能過於頻繁

年度可用性在99.9%的服務每分鐘檢測磁碟容量可能過於頻繁

等等戰術

短期可用性和長期可用性之間的衝突和平衡

自動化系統

瑣事手動性

重複性的

可以被自動化的

戰術性的

沒有持久價值

與服務同步線性增長

價值一致性:如果是人工操作,無法保證針對同乙個故障每次操作結果都是一致的

平台性修復速度快

行動速度更快

節省時間

型別指令碼自動化

borg/kubernetes

上線自動化

發布工程

非哥指導思想

關係 思考關聯,所有的資料,函式,其實都是互相關聯的,這乙個函式的輸出,是另外乙個函式的輸入,重點是搞清楚,思考明白 這些函式關係的相互關係是什麼?重點整理清除他們的相互關係。舉例 開炮事件的業務關聯 非哥畫的每一條線,都不是白畫的呀 還有乙個是業務拆分,所有的業務都可以拆解為 輸入 處理了 輸出 ...

設計效能良好系統的指導思想

簡而言之,如果將你的cpu的速度加快一倍,那麼你通常可以獲得接近兩倍的吞吐量。僅僅將網路的容量加倍通常沒有效果,因為瓶頸一般在主機上。每乙個到來的分組都會引發乙個中斷。在現代的流水線方式的處理器上,每個中斷都會打斷cpu流水線 干擾快取的工作 要求改變記憶體管理環境,並且強迫儲存相當數量的cpu暫存...

個人認為,CMMI整體的減法指導思想是錯的

近期,我準備帶領團隊,根據自己的理解做出一些調整。總體感覺,cmmi體系很龐大,在整個軟體開發過程中,對於具體細節的工作有很好的指導意義,但是,我參加整個培訓和經過一段時間的管理實踐,最大的感覺是cmmi整體的指導思想從根本上就是 錯 的,而對於具體工作的研發過程和操作步驟有很好的參考價值,也許從二...