以下資料來源於官網:https://github.com/alibaba/Sentinel,下面可以有中文入口
一、Sentinel 是什麼?
隨着微服務的流行,服務和服務之間的穩定性變得越來越重要。Sentinel 以流量爲切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。
Sentinel 具有以下特徵:
- 豐富的應用場景:Sentinel 承接了阿里巴巴近 10 年的雙十一大促流量的核心場景,例如秒殺(即突發流量控制在系統容量可以承受的範圍)、消息削峯填谷、集羣流量控制、實時熔斷下游不可用應用等。
- 完備的實時監控:Sentinel 同時提供實時的監控功能。您可以在控制檯中看到接入應用的單臺機器秒級數據,甚至 500 臺以下規模的集羣的彙總運行情況。
- 廣泛的開源生態:Sentinel 提供開箱即用的與其它開源框架/庫的整合模塊,例如與 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相應的依賴並進行簡單的配置即可快速地接入 Sentinel。
- 完善的 SPI 擴展點:Sentinel 提供簡單易用、完善的 SPI 擴展接口。您可以通過實現擴展接口來快速地定製邏輯。例如定製規則管理、適配動態數據源等。
Sentinel 的主要特性:
Sentinel 的開源生態:
Sentinel 分爲兩個部分:
- 核心庫(Java 客戶端)不依賴任何框架/庫,能夠運行於所有 Java 運行時環境,同時對 Dubbo / Spring Cloud 等框架也有較好的支持。
- 控制檯(Dashboard)基於 Spring Boot 開發,打包後可以直接運行,不需要額外的 Tomcat 等應用容器。
總之一句話,就是和SpringCloud中的Hystrix豪豬哥是一樣的作用,但是和Hystrix有一定的區別:
區別 | Hystrix | Sentinel |
---|---|---|
搭建 | 需要開發手工搭建監控平臺 | 單獨一個組件,可以獨立出來 |
配置 | 沒有一套web界面可以給我們進行更加細粒度化得配置流控、速率控制、服務熔斷、服務降級... | 直接界面化的細粒度統一配置 |
一般是 約定》配置》編碼
我們配置都可以寫在代碼裏面,但是我們還是大規模的學習使用配置和註解的方式,儘量少寫代碼
二、去哪兒下
https://github.com/alibaba/Sentinel/releases去下載
直接下載很慢,建議右擊-->選擇複製下載鏈接-->打開迅雷下載
Sentinel分爲兩部分上面已經提到了,即核心庫和控制檯,控制檯就是下載的dashboard,端口默認爲8080.這個sentinel-dashbaord只是個jar包,所以需要注意兩點即可:
- jdk8環境ok
- 8080端口未被佔用,其實可以啓動的時候重新制定端口號
運行命令:java -jar jar包路徑
java -jar /Users/king/javatools/sentinel-dashbord/sentinel-dashboard-1.7.2.jar
訪問http://localhost:8080,出現下面界面表示啓動成功,默認登錄用戶和密碼爲sentinel/sentinel
此時表示sentinel控制檯安裝完成了,因爲沒有服務呢,所以沒用其他設置配置,後面文章會單獨寫配置的~!