本文介紹MSE流量防護與開源Sentinel、Hystrix兩個限流相關組件的對比。MSE提供了能力完善、配套齊全、開箱即用的流量防護能力。阿里巴巴中間件團隊在多年的雙十一大促活動中積累了豐富的流量防護經驗和方法論,并將其體系化應用到MSE中,有效保障運行時系統與業務的穩定。
MSE流量防護與自建Sentinel、Hystrix對比
對比項 | MSE流量防護 | Sentinel社區版本 | Hystrix |
流控能力 | 大流量QPS流控、熱點防護支持分鐘、小時級別的流控。 | QPS流控、單機熱點流控。 | 不支持。 |
不穩定調用防護 | 支持漸進式恢復的異常、慢調用熔斷策略和并發隔離。 | 支持異常、慢調用熔斷和并發隔離。 | 支持異常熔斷和線程池隔離。 |
自適應系統保護 | 更靈敏的智能化控制策略。 | Load+BBR基礎策略。 | 不支持。 |
離群實例摘除 | 支持離群實例摘除能力。可以檢測時間窗口內應用實例的可用性,實時隔離低于成功率閾值的實例,保證服務整體調用的成功率,提升業務的穩定性。 | 不支持。 | 不支持。 |
網關防護 | 支持Java網關靈活的流量控制。云原生網關支持集群、路由級別流量控制。 | Java網關單機維度流量控制。 | 不支持。 |
實時規則配置 | 控制臺實時配置,秒級生效,保障可靠性。 | 支持結合數據源。 | 支持結合數據源。 |
控制臺 | 企業級高可用流量防護配套,專業的秒級接口維度指標與高可用策略/Fallback管理能力。 | 動態規則管理、監控、集群流控管理等能力需自行實現持久化邏輯。 | 功能較弱。 |
接入方式 | 通過Java 探針無侵入方式支持近20種框架,除此之外的框架可以通過開源SDK補充支持。 | SDK依賴方式接入,涉及到業務代碼的修改,自行處理各種組件復雜的版本依賴關系。 | SDK依賴方式接入,涉及到業務代碼的修改,自行處理各種組件復雜的版本依賴關系。 |
使用維護成本 | 無需自行維護SDK、控制臺,只需關注業務即可。 | 需自行改造與維護控制臺,需自行部署。 | 配套較為欠缺。 |
參考文檔
關于MSE流量防護的場景與使用,請參見:流量防護。