1. 程式人生 > >視覺化限流管理,Sentinel 控制檯啟動和接入

視覺化限流管理,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官方文