對於任何一個線上應用來說,發布、擴容、縮容、重啟等操作不可避免。MSE提供的無損上下線功能,為應用啟動和下線的多個階段提供相應的保護能力,例如服務預熱、服務延遲註冊、主動通知等。本文介紹如何通過YAML方式配置無損上下線。
配置無損上下線規則
將ACK微服務應用接入MSE治理中心。具體操作,請參見ACK微服務應用接入MSE治理中心。
在應用的工作負載中,配置下述參數。具體參數含義,請參見配置無損上線和配置無損下線。
欄位方式位置:spec > template > metadata > labels
欄位含義說明。
欄位
含義
預設值
mse.lossless.enable
是否開啟無損上線規則。
true:開啟。
false:關閉。
false
mse.lossless.warmupTime
預熱時間長度,單位為秒。
120
mse.lossless.delayTime
延遲註冊時間,單位為秒。相較於正常狀態,應用啟動將延遲x(x指所設的值)秒後再向註冊中心註冊應用或服務。
0
mse.lossless.notice
是否開啟服務提供者下線時主動通知消費者。
false
欄位配置範例。
mse.lossless.enable: 'true' mse.lossless.delayTime: '30' mse.lossless.warmupTime: '60' mse.lossless.notice: 'false'
結果驗證
登入MSE治理中心控制台,並在頂部功能表列選擇地區。
在左側導覽列,選擇治理中心 > 应用治理。
在应用列表頁面,單擊目標應用的資源卡片。
在左側導覽列,單擊流量治理。在无损上下线頁簽,查看無損上線規則配置已更新為YAML中的配置,可以在應用進行上下線時,在無損上下線功能頁面,觀測到事件和QPS的曲線表現符合YAML中的配置。
通過YAML方式配置無損上下線規則後,應用會立即重啟,重啟後新配置的無損上下線規則會生效。
YAML中未配置的規則條目,會以自動以預設值方式生效。
同時在應用工作負載的YAML和MSE服務治理控制台上修改應用的無損上下線規則時,會以應用YAML配置為準。如果在控制台上修改了無損上下線規則,一旦應用發生重啟,應用YAML 中的規則配置會覆蓋控制台上現有的配置。