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 包:
com.alibaba.csp
sentinel-transport-simple-http
1.7.1
引入依赖后,在应用启动时需要添加,指定控制台地址和端口,可以通过添加启动JVM参数
或者配置文件两种方式。
配置控制台地址:添加JVM启动参数
启动时加入 JVM 参数 -Dcsp.sentinel.dashboard.server=consoleIp:port。
这里我把启动参数添加在Idea Configuration下的VM options中:
-Dcsp.sentinel.dashboard.server=192.168.43.120:8080
配置控制台地址:修改Spring配置文件
查看控制台
完成配置后,启动应用,刷新控制台,可在 Sentinel 控制台上看到对应的应用,机器列表页面可以看到对应的机器,后面教程会对 Sentinel 控制台功能和应用进行详细的解析
参考
Sentinel官方文档