将Dubbo应用接入AHAS应用防护后,可以对其配置流控、降级和系统规则来保证系统稳定性。本文介绍如何使用SDK方式将Dubbo应用接入应用防护。

操作步骤

  1. 登录AHAS控制台
  2. 在AHAS控制台左上角,选择应用接入的地域
  3. 在控制台左侧导航栏中选择流量防护 > 应用防护
  4. 应用防护页面右上角单击新应用接入
  5. JAVA语言页签,单击SDK接入,然后单击Dubbo应用接入
  6. 选择以下任意一种方式,在Dubbo应用中添加应用防护依赖。
    • 在Dubbo应用的Pom文件中添加以下依赖(默认支持Dubbo 2.6.x版本):
      <dependency>
        <groupId>com.alibaba.csp</groupId>
        <artifactId>ahas-sentinel-client</artifactId>
        <!-- 可指定版本号,最新版本见AHAS控制台应用防护新应用接入页引导。 -->
        <version>x.y.z</version>
      </dependency>

      Dubbo应用接入页面第一步:添加Pom依赖中查看Pom依赖最新版本,将x.y.z替换为新版本的版本号。

      Dubbo版本号.png
      若您使用Dubbo 2.7.x版本,请添加以下依赖:
      <!-- SDK/Starter需1.6.2及以上版本,并排掉sentinel-dubbo-adapter依赖。 -->
      <dependency>
          <groupId>com.alibaba.csp</groupId>
          <artifactId>ahas-sentinel-client</artifactId>
          <version>1.6.2</version>
          <exclusions>
              <exclusion>
                  <groupId>com.alibaba.csp</groupId>
                  <artifactId>sentinel-dubbo-adapter</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
      <!-- 使用开源2.7.x adapter依赖。-->
      <dependency>
          <groupId>com.alibaba.csp</groupId>
          <artifactId>sentinel-apache-dubbo-adapter</artifactId>
          <version>1.7.0</version>
          <exclusions>
              <exclusion>
                  <groupId>com.alibaba.csp</groupId>
                  <artifactId>sentinel-core</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
    • 添加JAR包依赖。

      Dubbo应用接入页面单击请点此链接下载下载压缩包,并将压缩包中的所有JAR包放置在classpath目录下。

  7. 配置应用的启动参数。
    //将AppName替换为自定义的应用名称。
    -Dproject.name=AppName
    //将AppName替换为自定义的应用名称,将 <license> 替换为真实值。
    -Dproject.name=AppName -Dahas.license=<license>

    若在公网地域,需要查看License信息。请在第二步:配置启动参数区域查看(非公网地域不需要),具体请参见查看License

    dubbo license.png
  8. 重启您的应用。
  9. (可选)您可以自定义Dubbo应用触发限流、降级或系统保护规则时的fallback处理逻辑,自定义DubboFallback接口并通过DubboFallbackRegistry注册即可。配置后,当Dubbo应用触发流控、降级或系统规则时,AHAS会将BlockException包装后抛出。详情请参见Dubbo Adapter
    说明 若未执行此步骤,当Dubbo应用触发应用防护规则时,默认抛出BlockException异常类的子类(触发流控规则,则抛出流控异常FlowException;触发降级规则,则抛出降级异常DegradeException)。

结果验证

登录AHAS控制台,在左侧导航栏选择流量防护 > 应用防护,若在应用防护页面出现该应用的资源卡片且有数据上报,则说明接入成功。

应用防护.png