EAS服務的重啟或部分參數更新會觸發變換。這是一種逐步替換舊副本為新副本的發布策略,可在不停機、保障系統高可用的前提下完成版本升級。
變換
更新過程中,系統依據配置參數建立新副本並逐步替換舊副本。若新副本啟動失敗,更新將中止,失敗副本不接收流量,剩餘舊副本繼續提供服務,業務不受影響。使用者可選擇復原或重新發起更新,且新更新會優先清理此前未完成的失敗版本副本。
變換行為由以下兩個關鍵參數控制:
超过期望的副本数(JSON參數:rolling_strategy.max_surge)
描述:更新時最多可額外建立的副本數,支援正整數或百分比。值越大,更新越快。
例如:100個副本,配置為20,則更新開始即建立20個新副本。
預設值:副本總數的2%(不足1時取1)。
重要超过期望的副本数過大時,大量新副本上線後會立即替換等量舊副本,若新副本未預熱,突增流量可能衝擊服務穩定性。
最大不可用副本数(JSON參數:rolling_strategy.max_unavailable)
描述:更新過程中允許的最大不可用副本數,用於釋放資源,防止因資源不足導致更新過程被阻礙。
例如:設為N,更新開始時立即停止N箇舊副本。
預設值:
專屬資源群組:2025年9月1日前建立的服務,預設為1。2025年9月1日後建立的服務,彈性資源集區開啟預設為0,未開啟預設為1。
公用資源群組:0。
靈駿智算Quota:2025年9月1日前建立的服務,預設為0。2025年9月1日後建立的服務,預設為副本數的2%(不足1時取1)。
重要單副本服務若將最大不可用副本数設為1,變換時舊副本會在新副本啟動前退出,期間服務無可用副本,將短暫不可用。
最大不可用副本数過大可能導致過多副本同時下線,剩餘副本不足以承載流量,影響服務可用性。
優雅退出
優雅退出的參數會影響變換中副本退出的穩定性。
优雅退出时间 (JSON參數:eas.termination_grace_period)
描述:副本優雅退出等待時間,單位秒。副本進入Terminating狀態後,流量被摘除,系統等待30秒讓其處理完已接收請求後再下線。若請求處理時間較長,建議調大該值。
預設值:30。
重要如果將該參數值調小則會影響服務穩定性,將該參數配置過大則會導致服務更新速度過慢,如果無特別需求請不要配置該參數。
是否发送SIGTERM(JSON參數:rpc.enable_sigterm)
描述:SIGTERM是終止進程的訊號。JSON參數取值true、false。
false:副本退出時不會發送SIGTERM訊號。
true:副本退出時,系統立即發送SIGTERM訊號,服務主進程需在訊號處理函數中實現自訂優雅退出邏輯,否則可能直接終止,導致優雅退出失敗。
預設值:不發送(false)。
預設不發送SIGTERM訊號。因為業務容器預設不會對SIGTERM做攔截處理,如果收到SIGTERM訊號,業務進程會立即退出,從而導致優雅退出過程失效,業務受損。
請求耗時差異大的服務,建議啟用SIGTERM。比如請求處理時間最短几秒,最長可能30分鐘,固定優雅退出時間為30分鐘會拖慢服務更新。此時需業務容器配合在收到SIGTERM訊號後,處理完存量請求後就主動退出,實現更靈活的退出控制。
非同步推理服務無需主動開啟SIGTERM。EAS管控層在副本退出時,會自動響應SIGTERM訊號,停止訂閱新請求,並等待已有請求處理完成後再退出副本。