Sentinel Dashboard流量控制、熔断降级规则统一配置和管理的入口【入门级教程】

593 阅读2分钟

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 控制台

下载和启动

  1. 下载

    • 访问 Sentinel 的 GitHub 或者 Maven 仓库获取最新版本的控制台包。
    • 直接从 GitHub 获取可执行的 JAR 包:sentinel-dashboard-1.8.4.jar(请注意替换为实际版本号)。
  2. 启动

    • 打开终端或命令提示符。

    • 使用如下命令启动控制台:

       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 应用

添加依赖

  1. POM 文件:

    • 在您的项目 pom.xml 文件中添加 Sentinel 的依赖:

      <dependency>
         <groupId>com.alibaba.cloud</groupId>
          <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
         <version>2.2.3.RELEASE</version> <!-- 替换为您所需的版本 -->
      </dependency>
      
  2. Gradle 文件:

    • 如果使用 Gradle,则添加以下依赖:

       implementation 'com.alibaba.cloud:spring-cloud-starter-alibaba- sentinel:2.2.3.RELEASE' // 替换为您所需的版本
      

配置应用

  1. 配置文件:

    • 在 application.yml 或 application.properties 中添加 Sentinel 配置来连接 Sentinel 控制台:

        sentinel:
        transport:
          dashboard: localhost:8080 # Sentinel 控制台地址
          port: 8719 # Sentinel 客户端与控制台通信的端口
      
  2. 启用 Sentinel:

    • 如果需要对特定的服务进行限流等操作,请确保在代码中正确使用 Sentinel 提供的 API。

测试

  1. 启动应用:

    • 启动您的 Spring Boot/Spring Cloud 应用。
  2. 监控:

    • 访问 Sentinel 控制台页面,您应该能看到已注册的应用,并可以对其进行配置管理。