參考文檔:
https://github.com/alibaba/Sentinel/wiki/%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%97#%E5%85%AC%E7%BD%91-demo
https://github.com/alibaba/Sentinel/wiki/%E6%8E%A7%E5%88%B6%E5%8F%B0#2-%E5%90%AF%E5%8A%A8%E6%8E%A7%E5%88%B6%E5%8F%B0
1.Sentinel 概述
Sentinel 是阿里中間件團隊開源的,面向分佈式服務架構的輕量級流量控制產品,主要以流量爲切入點,從流量控制、熔斷降級、系統負載保護等多個維度來幫助用戶保護服務的穩定性。
2.Sentinel 功能模塊
Sentinel分爲兩個部分:客戶端以及控制檯
- 控制檯用於管理限流,熔斷規則的發佈與監控
- 客戶端則用於接收規則,並執行相關規則
3.Centos7搭建Sentinel
3.1 下載Sentinel控制檯安裝包
https://github.com/alibaba/Sentinel/releases/
wget https://github.com/alibaba/Sentinel/releases/download/1.6.2/sentinel-dashboard-1.6.2.jar
mv sentinel-dashboard-1.6.2.jar sentinel-dashboard.jar
3.2 後臺運行Sentinel控制檯
java -Dserver.port=8849 -Dcsp.sentinel.dashboard.server=localhost:8849 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar
從 Sentinel 1.6.0 起,Sentinel 控制檯引入基本的登錄功能,默認用戶名和密碼都是 sentinel。可以參考 鑑權模塊文檔 配置用戶名和密碼。
注:若您的應用爲 Spring Boot 或 Spring Cloud 應用,您可以通過 Spring 配置文件來指定配置,詳情請參考 Spring Cloud Alibaba Sentinel 文檔。
後臺部署配置註解:
-Dserver.port: 指定 Sentinel 控制檯端口爲 8849
-Dcsp.sentinel.dashboard.server:指定 Sentinel 控制檯IP+端口
鑑權配置:
-Dsentinel.dashboard.auth.username=sentinel: 用於指定控制檯的登錄用戶名爲 sentinel;
-Dsentinel.dashboard.auth.password=123456: 用於指定控制檯的登錄密碼爲 123456;如果省略這兩個參數,默認用戶和密碼均爲 sentinel;
-Dserver.servlet.session.timeout=7200: 用於指定 Spring Boot 服務端 session 的過期時間,如 7200 表示 7200 秒;60m 表示 60 分鐘,默認爲 30 分鐘;
輸入IP:http://服務器IP:8849/#/dashboard/home,查看部署結果:
默認用戶名:sentinel ,默認密碼:sentinel ,也可以通過JVM參數,系統env或屬性進行配置,例如:
-Dauth.username=sentinel
-Dauth.password=123456
如果auth通過,則將AuthUser數據放入HttpSession。