AHAS流量防護遷移MSE微服務治理
AHAS中流量防護模塊將在微服務治理MSE中繼續演進。對于使用AHAS流量防護模塊的現有用戶,建議將該模塊遷移至MSE中繼續使用。本文介紹如何將AHAS流量防護模塊遷移到MSE。
MSE微服務治理介紹
MSE微服務治理中心無侵入增強主流Spring Cloud、Apache Dubbo等開源微服務框架,提供豐富的服務治理和流量防護功能,旨在幫助企業解決開發測試態、變更態以及運行態的各種穩定性和安全風險,低成本實現微服務敏捷開發,全面增強微服務線上穩定性并提升研發效率。相較于AHAS流量防護,MSE微服務治理企業版價格與AHAS流量防護價格一致,流量防護能力與AHAS基本對齊,除此之外還包含全鏈路灰度、無損上下線等變更時穩定性保障能力,覆蓋更全面的穩定性場景。
AHAS流量防護與MSE流量防護差異
MSE流量防護大部分能力以及框架支持均與AHAS流量防護保持一致。同時也在AHAS流量防護的基礎之上進行了功能的優化和精簡,具體差異如下。
功能差異
分類 | 差異點 | AHAS 流量防護 | MSE 流量防護 |
核心能力 | 流量防護基礎規則類型 | 主動降級規則 | 建議配置閾值為0的流控/隔離規則。 |
自動重試規則 | 實際場景下效果不佳,MSE側不支持。 | ||
流量防護規則配置 | 流控效果支持預熱啟動 | 建議使用 MSE 無損上下線基于調度的預熱。 | |
擴展能力 | 場景化規則 | WEB 防護規則 | 對應熱點參數防護(RPC)。 |
網關防護 | 網關防護規則 | 不針對請求屬性對應流控規則/并發隔離。 針對請求屬性對應的熱點參數防護(HTTP)。 | |
請求分組 | 實際場景下效果不佳,MSE側不支持。 | ||
兜底防護能力 | 默認熔斷規則 | 重構優化中,后續上線。 | |
系統規則 | 升級為系統防護(目前支持基于CPU使用率的自適應過載保護)。 | ||
集群流控 | 集群流控 | 應用場景下效果不佳,MSE側不支持,推薦在網關側(MSE 云原生網關)使用。 | |
可觀測配套 | 指標監控 | 流量相關指標以及系統指標,支持回放以及歷史查詢 | 精簡指標,保留流量相關指標以及CPU使用率,支持回放。 |
事件 | 限流事件 | 標準方式對接 MSE 統一事件中心。 | |
告警 | 系統告警以及自定義告警 | 標準方式對接云監控告警。 |
部分差異詳情
請求分組
請求分組往往用于在網關側配置接口級別的限流,但是這種方式會引入一定的性能損耗,并且在很多場景下是不適用的,不利于系統整體的穩定性,例如:
微服務架構下,不是所有流量都經過網關,后端應用的實際流量與網關側流量并非完全一致。
網關側的某一接口的后續鏈路往往會涉及多個微服務和外部依賴,對應關系難以梳理,要想達到良好的防護效果,還是需要在鏈路的每一層根據容量評估去配置相應的限流。
在慢調用場景下,由于各個調用環節的超時配置不一致,網關側配置隔離等措施不能起到實際的保護效果。
出于系統整體穩定性的考慮,推薦在網關側配置路由維度限流,應用側配置接口維度限流,層層防護,在保障穩定性的同時減少誤限以及性能損耗。
集群流控
集群流控能力適用于網關層,用于控制進入系統的總流量。推薦將網關遷移至MSE云原生網關,獲得更優秀的性能表現以及更加豐富的功能,在MSE云原生網關可以配置路由級別整體閾值的限流策略。詳情請參見配置限流策略。
框架差異
MSE 通過Java Agent技術實現了常用框架的無侵入埋點支持,開箱即用,支持的框架以及版本,詳情可參見微服務治理支持的Java框架。與AHAS 相比,常用框架中僅 Redis 暫時不支持,后續將支持。對于不支持的框架,可以搭配開源 Sentinel SDK 使用實現靈活的自定義埋點,可參見如何在微服務治理中添加自定義接口。
遷移指引
對于應用以及規則數較少的用戶可以采用先下后上的方式進行遷移,對于應用以及規則數較多的用戶,推薦使用平滑遷移方案。
AHAS用戶遷移MSE(先下后上)的方式,詳情可參見如何將流量防護模塊遷移到MSE。
AHAS用戶遷移MSE(平滑遷移)根據接入方式的不同,可分為如下兩種方式。
說明接入類型可在AHAS控制臺的左側導航欄的探針管理頁面中選擇限流降級探針進行查看。