視覺化限流管理,Sentinel 控制檯啟動和接入
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。
這裡我把啟動引數新增在Idea Configuration下的VM options中:
-Dcsp.sentinel.dashboard.server=192.168.43.120:8080
配置控制檯地址:修改Spring配置檔案
這裡我使用的是yaml方式,
檢視控制檯
完成配置後,啟動應用,重新整理控制檯,可在 Sentinel 控制檯上看到對應的應用,機器列表頁面可以看到對應的機器,後面教程會對 Sentinel 控制檯功能和應用進行詳細的解析
參考
Sentinel官方文