無損上線
更新時間 2024-09-11 18:38:34
最近更新時間: 2024-09-11 18:38:34
分享文章
本章節介紹無損上線功能的使用
概述
在應用的發布、重啟過程中,不可避免的會造成流量的損失,可能會因為服務沒有預熱而出現抖動,或因為服務沒有完全初始化之前就注冊在注冊中心導致訪問失敗。微服務治理提供了服務上線的保護能力,提供服務預熱、延遲注冊服務的能力解決流量損失問題。
版本限制
| 框架 | 限制 | 詳情 |
|---|---|---|
| Spring Cloud | 注冊中心:Nacos、Eureka、Zookeeper | 若用戶修改了ZoneAwareLoadBalancer則不支持預熱。 |
| Dubbo | 2.7相關版本 | Dubbo 2.6和3.0不支持預熱。 |
| Jdk版本 | 1.8+-- | -- |
開通無損上線
- 登錄微服務治理中心控制臺。
- 在左側導航欄選擇 微服務治理中心 ->應用治理。
- 在應用治理頁面單擊目標應用卡片。
- 在應用頁面左側導航欄選擇流量治理 - 無損上下線,配置無損上線規則。
服務預熱
應用在啟動后,由于內部資源還未徹底初始化,直接處理大流量可能會導致出現請求阻塞或報錯的情況。在應用剛啟動的一段時間內,通過小流量預熱的方式使應用完成內部資源的初始化,這樣可以有效的避免應用上線后出現的抖動問題。
預熱參數說明:
| 參數 | 說明 |
|---|---|
| 預熱時長(秒) | 應用實例下一次啟動的預熱時間,默認預熱時長為120秒。服務預熱時長設置范圍為0~86400秒(即24小時)。 |
| 預熱曲線 | 默認為2(適合于一般預熱場景),表示在預熱周期內服務提供者的流量接收曲線形狀呈2次曲線形狀。預熱曲線設置范圍為0~20。 |
延遲注冊
應用在啟動時,會存在內部資源還未初始化完成,服務就被暴露到注冊中心,被外部的消費者調用,這種情況可能會導致調用報錯。通過設置延遲注冊,可以在應用的內部資源初始化完成之后再將服務注冊到注冊中心,供外部消費者調用。
| 參數 | 說明 |
|---|---|
| 延遲注冊時間(秒) | 延遲注冊時間, 時長設置范圍為0~86400秒(即24小時)。 |