線上應用在服務更新部署過程中,需要盡量保證用戶端無感知,即從應用停止到重啟恢複服務的階段不能影響正常的業務請求。由於微服務應用自身調用特點,在高並發下,服務提供端應用執行個體的直接下線,會導致服務消費端應用執行個體無法即時感知下遊執行個體的即時狀態,因而出現繼續將請求轉寄到已下線的執行個體,從而出現請求報錯,導致流量有損。因此,在應用執行部署、停止、復原、縮容和重設時,需要通過無損下線配置來保證應用正常關閉。
前提條件
已建立微服務應用。具體操作,請參見建立應用。
設定無損下線
重新部署應用後,該應用將會被重啟。為避免業務中斷等不可預知的錯誤,請在業務低峰期執行部署操作。
更新應用配置的路徑因執行個體數的不同而不同。本文以執行個體數大於等於1為例,介紹如何配置目標功能。當執行個體數等於0時的操作路徑,請參見更新應用。
登入SAE控制台。
在左側導覽列,單擊應用列表,在頂部功能表列選擇地區,然後單擊具體應用程式名稱。
在基本資料頁面右上方,單擊部署應用。
在部署應用頁面,展開微服務無損上下線地區,在微服務無損下線頁簽,開啟啟用微服務無損下線功能開關,然後單擊微服務無損下線設定精靈。
在無損下線參數配置頁簽,設定相關資訊,單擊預覽配置。
配置項
說明
是否開啟優雅下線服務治理能力
預設為true。取值說明如下:
true:開啟。
false:關閉。
SAE優雅下線功能佔用連接埠
預設連接埠為54199。如果此預設連接埠和應用的連接埠產生衝突,請配置新的連接埠。
收到Spring的ContextClosedEvent事件後,進程動態等待關閉的時間
預設取值為5000,即進程收到關閉訊號後,會等待5000 ms再關閉。
配置該參數後,需要設定是否開啟自動等待功能參數為false。
是否開啟自動等待功能
預設為true。取值說明如下:
true:開啟。進程可能會隨著流量停止而提前關閉。
false:關閉。進程直接等待收到Spring的ContextClosedEvent事件後,進程動態等待關閉的時間所配置的值的對應時間長度後再關閉。
在預覽配置頁簽,確認相關配置,單擊確認。
配置的參數會自動渲染到環境變數、生命週期管理的優雅下線逾時設定。更多資訊,請參見設定環境變數和設定應用生命週期管理。
配置完成後,單擊確認。
關閉無損下線
如果您的應用已設定無損下線功能,可以通過以下方式關閉:
在應用基本資料頁面,單擊部署應用或修改應用配置,然後在微服務無損上下線地區,關閉啟用微服務無損下線功能,然後單擊確認。