全部產品
Search
文件中心

Platform For AI:變換與優雅退出

更新時間:Aug 15, 2025

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訊號,停止訂閱新請求,並等待已有請求處理完成後再退出執行個體。