Sentinel概述


服務熔斷Hystrix的替換方案

18年底Netflflix官方宣布Hystrix 已經足夠穩定,不再積極開發 Hystrix,該項目將處於維護模式。就目前來看Hystrix是比較穩定的,並且Hystrix只是停止開發新的版本,並不是完全停止維護,Bug什么的依然會維護的。因此短期內,Hystrix依然是繼續使用的。但從長遠來看,Hystrix總會達到它的生命周期,那么Spring Cloud生態中是否有替代產品呢?

替換方案介紹

Alibaba Sentinel

Sentinel 是阿里巴巴開源的一款斷路器實現,目前在Spring Cloud的孵化器項目Spring Cloud Alibaba中的一員Sentinel本身在阿里內部已經被大規模采用,非常穩定。因此可以作為一個較好的替代品。

Resilience4J

Resilicence4J 一款非常輕量、簡單,並且文檔非常清晰、豐富的熔斷工具,這也是Hystrix官方推薦的替代產品。不僅如此,Resilicence4j還原生支持Spring Boot 1.x/2.x,而且監控也不像Hystrix一樣弄Dashboard/Hystrix等一堆輪子,而是支持和Micrometer(Pivotal開源的監控門面,Spring Boot 2.x中的Actuator就是基於Micrometer的)、prometheus(開源監控系統,來自谷歌的論文)、以及Dropwizard metrics(Spring Boot曾經的模仿對象,類似於Spring Boot)進行整合。

Sentinel簡介

隨着微服務的流行,服務和服務之間的穩定性變得越來越重要。Sentinel 以流量為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。

Sentinel 具有以下特征:

  豐富的應用場景:Sentinel 承接了阿里巴巴近 10 年的雙十一大促流量的核心場景,例如秒殺(即突發流量控制在系統容量可以承受的范圍)、消息削峰填谷、集群流量控制、實時熔斷下游不可用應用等。
  完備的實時監控:Sentinel 同時提供實時的監控功能。您可以在控制台中看到接入應用的單台機器秒級數據,甚至 500 台以下規模的集群的匯總運行情況。
  廣泛的開源生態:Sentinel 提供開箱即用的與其它開源框架/庫的整合模塊,例如與 SpringCloud、Dubbo、gRPC 的整合。您只需要引入相應的依賴並進行簡單的配置即可快速地接入Sentinel。
  完善的 SPI 擴展點:Sentinel 提供簡單易用、完善的 SPI 擴展接口。您可以通過實現擴展接口來快速地定制邏輯。例如定制規則管理、適配動態數據源等。

Sentinel 的主要特性:

Sentinel與Hystrix的區別

遷移方案

Sentinel官方提供了詳細的由Hystrix 遷移到Sentinel 的方法

名詞解釋

Sentinel 可以簡單的分為 Sentinel 核心庫和 Dashboard。核心庫不依賴 Dashboard,但是結合Dashboard 可以取得最好的效果。
 
使用 Sentinel 來進行熔斷保護,主要分為幾個步驟:
  1. 定義資源
  2. 定義規則
  3. 檢驗規則是否生效
資源:可以是任何東西,一個服務,服務里的方法,甚至是一段代碼。
規則:Sentinel 支持以下幾種規則:流量控制規則、熔斷降級規則、系統保護規則、來源訪問控制規則和 熱點參數規則。Sentinel 的所有規則都可以在內存態中動態地查詢及修改,修改之后立即生效
 
先把可能需要保護的資源定義好,之后再配置規則。也可以理解為,只要有了資源,我們就可以在任何時候靈活地定義各種流量控制規則。在編碼的時候,只需要考慮這個代碼是否需要保護,如果需要保護,就將之定義為一個資源。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM