SAE深度整合了MSE服務的微服務治理功能,通過此功能,可以更高效的管理您的應用。本文介紹如何在不同情境下啟用微服務治理功能並實現無損上下線配置。
功能介紹
微服務治理功能介紹
Serverless App Engine (SAE)通過無縫整合Microservices Engine (MSE),提供了強大的微服務治理能力。它不僅支援服務發現和組態管理,還實現了無損上下線、流量治理、系統防護訊息灰階、全鏈路追蹤、智能熔斷、降級策略、同可用性區域優先等功能,從而顯著提升服務響應速度與穩定性,同時簡化架構營運。基於這些能力,MSE能夠確保您的微服務應用高效、穩定地運行。
無損上下線功能介紹
本文只介紹無損上下線功能,如果您想瞭解並配置其他微服務治理功能,請參見微服務治理。
無損上線
對於任何一個線上應用來說,發布、擴容、縮容、重啟等操作不可避免。在應用啟動各階段,無損上線能夠提供相應的保護能力。微服務的Provider服務只要註冊到註冊中心即可被Consumer調用,但此時,Provider可能還需要進一步的初始化,例如資料庫連接池的初始化等。因此,對於流量比較大的微服務應用,推薦開啟無損上線功能。
無損下線
線上應用在服務更新部署過程中,需要盡量保證用戶端無感知,即從應用停止到重啟恢複服務的階段不能影響正常的業務請求。由於微服務應用自身調用特點,在高並發下,服務提供端應用執行個體的直接下線,會導致服務消費端應用執行個體無法即時感知下遊執行個體的狀態,因而出現繼續將請求轉寄到已下線的執行個體,導致請求報錯,進而造成流量損失。因此,在應用執行部署、停止、復原、縮容和重設時,需要通過無損下線配置來保證應用正常關閉。
條件說明
本功能僅適用於Java應用。
需要開通MSE微服務治理專業版。
重要在SAE測使用MSE服務的微服務治理功能時,MSE會產生單獨的費用。
操作入口
操作入口在不同情境下有差異:
建立應用
登入SAE控制台,在左側導覽列選擇,然後選擇目標地區和目標命名空間,最後單擊建立應用。
在應用基本資料嚮導頁面進行配置後,單擊下一步:進階設定。
對正在啟動並執行應用進行變更
警告重新部署應用後,該應用將會被重啟。為避免業務中斷等不可預知的錯誤,請在業務低峰期執行部署操作。
登入SAE控制台,在左側導覽列選擇,然後選擇目標地區和目標命名空間,最後單擊目標應用程式名稱。
在目標應用的基礎資訊頁面,單擊部署應用。
對已停止的應用進行變更
登入SAE控制台,在左側導覽列選擇,然後選擇目標地區和目標命名空間,最後單擊目標應用程式名稱。
在目標應用的基礎資訊頁面,單擊修改應用配置。
找到並展開微服務治理地區,按以下步驟進行配置。
開啟微服務治理功能並配置無損上下線
開啟微服務治理功能
在微服務治理地區,開啟微服務治理功能。

微服務治理功能開啟後,系統會自動嚮應用中的每個執行個體中注入一個內建的Agent,此Agent大約佔用0.2 Core和200MB的資源,請您提前做好資源規劃。
配置無損上下線功能
配置無損上線
開啟微服務治理功能後,可在微服務治理地區配置無損上線功能。
開啟無損上線功能。

配置小流量預熱時間長度和延遲註冊時間長度。
配置項
說明
小流量預熱時間長度(秒)
流量預熱機制是為了確保新節點加入時,初期分配給該節點的微服務調用流量維持在較低水平,並隨著時間平緩增加。這樣設計是為了緩解Java應用冷啟動期間處理能力較弱的問題,防止系統整體回應時間(RT)顯著上升。預熱過程將在預設的時間長度結束後自動終止,之後該節點將正常承載全量流量。
延遲註冊
註冊的延遲時間可以將原本服務註冊時間往後延遲指定時間長度。如果您的應用在啟動後有耗時較長的非同步資源載入過程,可以通過該參數調節新上線節點的服務註冊行為,以延遲其收到調用請求的時機。
重要延遲註冊時間長度不為0時,必須在應用部署中配置readiness(就緒檢查),訪問路徑設定為
/health,且連接埠設定為54199,以保證服務完全註冊到註冊中心後,Kubernetes才認定該服務為就緒狀態。這一措施能有效避免因服務消費者找不到可用服務提供者而導致的入流量驟降問題。至關重要的是,切忌將LivenessProbe(存活探針)設定為同一路徑/health,因為這樣做可能引發應用不斷重啟的死迴圈狀況。
配置無損下線
當開啟微服務治理功能後,無損下線功能是預設生效的。
無損下線會在服務發布、縮容、重啟等情境下,儘可能保障下線節點的流量排空,讓在途請求執行完畢,不會產生因服務下線導致的調用出錯。