From a02b8cef5a03e020f78637192ced99d766894287 Mon Sep 17 00:00:00 2001 From: Lu Shueh Chou Date: Sat, 27 Jul 2024 12:58:22 +0800 Subject: [PATCH] sre: managing-load fix auto-scale --- .../managing-load.md | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/feedback/site-reliability-workbook/managing-load.md b/src/feedback/site-reliability-workbook/managing-load.md index 52ee4d32..373bfe13 100644 --- a/src/feedback/site-reliability-workbook/managing-load.md +++ b/src/feedback/site-reliability-workbook/managing-load.md @@ -182,27 +182,33 @@ Pokémon GO 是一款由 Niantic 和寶可夢公司合作開發的擴增實境 ## 自動增減 -透過自動增長機制,來增加服務的通量,避免高峰造成的緩慢。 +透過自動增長機制,來增加服務的通量,避免高峰造成的緩慢; +透過自動縮減機制,來增加資源的使用率,避免資源的浪費。 -以下是簡述自動增長的最佳實踐、常見錯誤配置以及現階段的限制: +以下是簡述自動增減的最佳實踐、常見錯誤配置以及現階段的限制: - 處裡異常節點: 避免把還沒啟動好、卡住的節點納入服務和算力統計,同時允許讓自動化機制重啟或恢復服務; - 有狀態請求的考量: 例如長連線、sticky session 等,透過應用層級去處理流量分配, - 另外使用垂直擴張(單節點算力提高)時應避免浪費; + 若使用垂直擴張(單節點算力提高)時,應注意流量是否分配平均; - 閥值要保守: - 避免輕易擴張和縮減,其中縮減的閥值要更保守,當服務負責處理外部進來的請求時, + 避免輕易擴張和縮減,其中縮減的閥值要更保守,避免快速大量的節點關閉。 + 當服務負責處理外部進來的請求時, 應[預備更多的算力](https://sre.google/sre-book/service-best-practices/#capacity-planning-wPsEUPo)避免流量急升; -- 限制增長和縮減的量; +- 限制增長和縮減的量: + 不能無限制的增加和減少; - 允許切換到手動增減: 確保值班的同仁可以手動增減節點數,同時該操作要直觀、簡單、快速且擁有充分的手冊指引; - 避免讓服務的依賴過載: - 節點增加會讓其依賴負載增加,例如資料庫,應確保增加的量不會把依賴沖垮,所以,請嘗試暸解依賴的負載能力; + 節點增加會讓其依賴負載增加,例如資料庫,應確保增加的量不會把依賴沖垮。 + 所以,請嘗試暸解依賴的負載能力; - 避免區域間的不平衡: - 多個區域可能因為量的不同,會有不同的節點數,應盡量平衡每個區域的節點數; + 多個區域(例如兩個資料中心)可能因為量的不同,會有不同的節點數, + 應盡量平衡每個區域的節點數; -最後,上面提的手段應該同時被考慮進去,也就是說,請嘗試用多種策略去管理負載。 +最後,上面提的手段應該同時被考慮進去, +也就是說,請嘗試用多種策略去管理負載。 例如: - 節點群和群彼此有獨立的自動擴張性,且要有負載平衡在前端平衡彼此的流量。