Sentinel 的使用可以分為核心庫和控制台兩個部分。
核心庫不依賴任何架構/庫,內建了主流架構,可以進行單機限流降級等功能,
控制台Dashboard提供了可視化的管理限流規則、對叢集進行監控,叢集限流配置設定管理、機器發現等功能。
這篇部落格學習 Sentinel 控制台的啟動和接入。
一、控制台啟動
控制台下載下傳有兩種方式,一種是直接下載下傳編譯好的release版本程式包,另一種是下載下傳控制台的工程代碼,在本地打包後啟動。
直接下載下傳release程式包
從
release頁面下載下傳最新版本的控制台 jar 包。

最新的正式版本是v1.7.1。
通過代碼建構
下載下傳最新的 sentinel-dashboard 控制台工程,代碼倉庫位址
sentinel-dashboard。
下載下傳後,進入工程目錄,通過Maven打包成一個可執行的 fat jar:
mvn clean package
建構和啟動
使用如下指令啟動控制台:
java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar
注意:啟動 Sentinel 控制台需要 JDK 版本為 1.8 及以上版本。
其中,
-Dserver.port=8080 用于指定 Sentinel 控制台端口為 8080
-Dcsp.sentinel.dashboard.server 用于控制台對外暴露的服務位址
配置使用者名和密碼
從 Sentinel 1.6.0 起,Sentinel 控制台引入基本的登入功能,預設使用者名和密碼都是 sentinel。
如果需要自行配置,可以通過如下參數進行調整:
-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 分鐘;
檢視控制台
控制台啟動後,通路 localhost:8080,可以檢視控制台。
二、用戶端接入控制台
這裡我使用 spring.io 建立一個Spring Boot項目來進行示範,工程搭建步驟可以參考
十分鐘快速建立 Spring Cloud 項目引入依賴
用戶端需要引入 Transport 子產品來與 Sentinel 控制台進行通信。需要在 pom.xml 引入 JAR 包:
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-transport-simple-http</artifactId>
<version>1.7.1</version>
</dependency>
引入依賴後,在應用啟動時需要添加,指定控制台位址和端口,可以通過添加啟動JVM參數
或者配置檔案兩種方式。
配置控制台位址:添加JVM啟動參數
啟動時加入 JVM 參數 -Dcsp.sentinel.dashboard.server=consoleIp:port。
預設端口是8719,我把啟動參數添加在Idea Configuration下的VM options中:
-Dcsp.sentinel.dashboard.server=192.168.43.120:8719
配置控制台位址:修改Spring配置檔案
這裡我使用的是yaml方式,
完成配置後,啟動應用,重新整理控制台,可在 Sentinel 控制台上看到對應的應用,機器清單頁面可以看到對應的機器,後面教程會對 Sentinel 控制台功能和應用進行詳細的解析