對于任何一個線上應用來說,發布、擴容、縮容、重啟等操作不可避免。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 中的規則配置會覆蓋控制臺上現有的配置。