Sentinel 控制台是流量控制、熔断降级规则统一配置和管理的入口,它为用户提供了机器自发现、簇点链路自发现、监控、规则配置等功能。在 Sentinel 控制台上,我们可以配置规则并实时查看流量控制效果。
特点
- 适用场景丰富:Sentinel 在阿里巴巴得到了广泛应用,几乎覆盖了过去10年双11(11.11)购物节的所有核心场景,比如“秒杀”需要限制突发流量满足系统容量、消息削峰填谷、下游不可靠服务熔断、集群流控等。
- 实时监控:Sentinel还提供实时监控能力。您可以实时查看单机的运行时信息,以及小于500个节点的集群的聚合运行时信息。
- 广泛的开源生态系统:Sentinel 提供与 Spring Cloud、gRPC、Apache Dubbo 和 Quarkus 等常用框架和库的开箱即用集成。您只需将适配器依赖项添加到您的服务中即可轻松使用 Sentinel。
- 多语言支持:Sentinel 提供了对 Java、Go、C++和Rust的本机支持。
- 丰富的SPI扩展:Sentinel提供了简单易用的SPI扩展接口,可以让您快速自定义逻辑,例如自定义规则管理、适配数据源等。
1. 安装 Sentinel 控制台
下载和启动
-
下载:
- 访问 Sentinel 的 GitHub 或者 Maven 仓库获取最新版本的控制台包。
- 直接从 GitHub 获取可执行的 JAR 包:
sentinel-dashboard-1.8.4.jar(请注意替换为实际版本号)。
-
启动:
-
打开终端或命令提示符。
-
使用如下命令启动控制台:
java -jar sentinel-dashboard-1.8.4.jar -
默认情况下,控制台会在
8080端口运行,可以通过浏览器访问http://localhost:8080来查看控制台界面。
-
配置
-
如果需要修改默认配置,可以在启动参数中加入配置文件路径:
java -jar sentinel-dashboard-1.8.4.jar --config.file=your-config-file.properties
2. 集成到 Spring Boot/Spring Cloud 应用
添加依赖
-
POM 文件:
-
在您的项目
pom.xml文件中添加 Sentinel 的依赖:<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> <version>2.2.3.RELEASE</version> <!-- 替换为您所需的版本 --> </dependency>
-
-
Gradle 文件:
-
如果使用 Gradle,则添加以下依赖:
implementation 'com.alibaba.cloud:spring-cloud-starter-alibaba- sentinel:2.2.3.RELEASE' // 替换为您所需的版本
-
配置应用
-
配置文件:
-
在
application.yml或application.properties中添加 Sentinel 配置来连接 Sentinel 控制台:sentinel: transport: dashboard: localhost:8080 # Sentinel 控制台地址 port: 8719 # Sentinel 客户端与控制台通信的端口
-
-
启用 Sentinel:
- 如果需要对特定的服务进行限流等操作,请确保在代码中正确使用 Sentinel 提供的 API。
测试
-
启动应用:
- 启动您的 Spring Boot/Spring Cloud 应用。
-
监控:
- 访问 Sentinel 控制台页面,您应该能看到已注册的应用,并可以对其进行配置管理。