将 Spring Cloud 应用接入 AHAS 应用流控降级后,可以对其配置流控、降级和系统规则来保证系统稳定性。本文将帮助您了解如何使用 SDK 方式将 Spring Cloud 应用接入应用流控降级。

操作步骤

  1. 在 pom.xml 文件中引入依赖:
    <dependency> 
     <groupId>com.alibaba.cloud</groupId>  
     <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
      <!-- 最新版本请参见  https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-alibaba-sentinel  -->    
      <!-- 注意不同版本的选择:https://github.com/alibaba/spring-cloud-alibaba/wiki/ 版本说明 -->
    <version>2.0.0.RELEASE</version> 
    </dependency>
    
    <dependency>
      <groupId>com.alibaba.csp</groupId>
      <artifactId>spring-boot-starter-ahas-sentinel-client</artifactId>
      <!-- 在 AHAS 控制台 > 流控降级 > 应用接入 > SDK 应用接入页签中查看最新版本信息。 -->
      <version>1.3.5</version>
    </dependency>
  2. (可选)若需修改拦截的 URL Pattern,则需在 Spring property 配置文件中进行修改,参见 Spring Cloud Alibaba Sentinel
    默认情况下,spring-cloud-alibaba-sentinel会对所有的 Web URL 资源进行统计,示例如下:
    spring.cloud.sentinel.filter.url-patterns=/*
  3. (可选)若需开启 Feign 适配,则需执行以下操作:
    • 在 Spring property 配置文件中启动对 Feign 的支持。
      feign.sentinel.enabled=true
    • 在 pom.xml 文件中引入 OpenFeign starter 依赖:
      <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-openfeign</artifactId>
      </dependency>
  4. 通过以下任意一种方式,配置应用的启动参数。
    • 添加 JVM -D 参数。
      ahas.namespace=default
      project.name=AppName
      //将 AppName 替换为自定义的应用名称,将 <license> 替换为真实值。
      -Dproject.name=AppName
      -Dahas.license=<license>
    • application.properties 文件中添加以下内容:
      #指定您要接入的特定的 AHAS 环境
      ahas.namespace=default
      #自定义您的应用名称
      project.name=AppName
      #指定您要接入的特定的 AHAS 环境
      ahas.namespace=default
      #自定义您的应用名称
      project.name=AppName
      #配置 license 信息
      ahas.license=<license>

结果验证

启动应用并调用配置埋点的方法。若该应用出现在 AHAS 控制台流控降级 > 应用流控页面,且在该应用的监控详情页面有能看到配置埋点的方法,则说明接入成功。

后续操作

为应用配置流控降级规则请参见以下文档: