Sentinel 是阿里中間件團隊研發的面向分布式服務架構的輕量級高可用流量控制組件。Sentinel 主要以流量為切入點,從流量控制、熔斷降級、系統負載保護等多個維度來幫助用戶保護服務的穩定性。
倉庫地址:
https://github.com/alibaba/Sentinel/
Sentinel控制台部署
sentinel 的控制台是用 spring boot 寫的一個web 應用,一般部署sentinel 控制台程序有如下兩種方式。
1、直接下載jar部署
https://github.com/alibaba/Sentinel/releases
2、下載源碼編譯后部署
下載完整的 sentinel 的項目,然后構建其中的 sentinel-dashboard 模塊,也可以只下載 sentinel-dashboard 模塊然后構建。
https://github.com/alibaba/Sentinel/
這里把完整的 sentinel 工程下載下來,然后構建 sentinel-dashboard 模塊,首先在項目根目錄下執行:
cd sentinel-dashboard
將會進入 dashboard 模塊,然后在 dashboard 目錄下執行:
mvn clean package
最終等到sentinel-dashboard.jar
使用如下命令啟動sentinel
-
java -Dserver.port= 8718 -Dcsp.sentinel.dashboard.server=localhost: 8718 -Dproject.name=sentinel-dashboard -Dcsp.sentinel.api.port= 8719 -jar sentinel-dashboard -1.6.0.jar
說明:
-Dserver.port=8718 控制台端口,sentinel控制台是一個spring boot程序。
客戶端配置文件需要填對應的配置,如:
spring.cloud.sentinel.transport.dashboard=192.168.1.102:8718
-Dcsp.sentinel.dashboard.server=localhost:8718 控制台的地址,指定控制台后客戶端會自動向該地址發送心跳包。
-Dproject.name=sentinel-dashboard 指定Sentinel控制台程序的名稱
-Dcsp.sentinel.api.port=8719 (默認8719) 客戶端提供給Dashboard訪問或者查看Sentinel的運行訪問的參數
注:
csp.sentinel.dashboard.server這個配置是用在客戶端,這里Sentinel控制台也使用是用於自己監控自己程序的api,否則無法顯示控制台的api情況,當然這個也可以根據情況不顯示。
注:
-
csp.sentinel.api.port=8719是客戶端的端口,需要把客戶端設置的端口穿透防火牆,可在控制台的“機器列表”中查看到端口號,這里Sentinel控制台也使用是用於自己程序的api傳輸,由於是默認端口所以控制台也可以不設置。
-
客戶端需向控制台提供端口,配置文件配置,如:spring.cloud.sentinel.transport.port=8720
-
控制台推送規則的日志在 :${user.home}/logs/csp/sentinel-dashboard.log 中,
-
客戶端接收規則日志在 ${user.home}/logs/csp/record.log 中
-
啟動配置wiki:
https://github.com/alibaba/Sentinel/wiki/啟動配置項
-
spring cloud alibaba配置、整合feign、動態數據源支持 等的wiki:
https://github.com/spring-cloud-incubator/spring-cloud-alibaba/wiki/Sentinel