接入Web应用

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

操作步骤

  1. 登录AHAS控制台
  2. 在AHAS控制台左上角,选择应用接入的地域。
  3. 在控制台左侧导航栏中选择流量防护 > 应用防护
  4. 应用防护页面右上角单击新应用接入,然后在JAVA语言页签,单击SDK接入,单击Web应用接入

  5. 选择以下任意一种方式,在Web应用中添加应用防护依赖。

    • 在Web应用的Pom文件中添加以下依赖。

      <dependency>
        <groupId>com.alibaba.csp</groupId>
        <artifactId>ahas-sentinel-client</artifactId>
        <version>x.y.z</version>
      </dependency>

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

      WEB version1.png

    • 添加JAR包依赖。

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

  6. 在web.xml文件中引入拦截器,并将其配置为第一个Filter,示例如下。

    <filter>
        <filter-name>SentinelCommonFilter</filter-name>
        <filter-class>com.alibaba.csp.sentinel.adapter.servlet.CommonFilter</filter-class>
    </filter>
    
    <filter-mapping>
        <filter-name>SentinelCommonFilter</filter-name>
    <!-- 配置要拦截的URL模式。 -->
        <url-pattern>/*</url-pattern>
    </filter-mapping>
  7. 配置应用的启动参数。

    类别

    配置参数示例

    非公网

    -Dproject.name=AppName -Dahas.namespace=default -Dahas.regionId=<RegionId>
    说明
    • 将AppName替换为自定义的应用名称。

    • 将<RegionId>替换应用所在地域,地域与RegionId对应表请参见下文地域与RegionId对应表

    公网

    -Dproject.name=AppName -Dahas.license=<license> -Dahas.namespace=default -Dahas.regionId=cn-public
    说明

    将AppName替换为自定义的应用名称,将<license>替换为真实值。

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

    WEB license2.png

  8. 可选:您可以通过以下两种方式来设定自定义的跳转URL,当请求触发流控、降级或系统规则时会自动跳转至设定的URL。

    • 通过WebServletConfig.setBlockPage(blockPage)方法设定自定义的跳转URL。

    • 通过UrlBlockHandler接口编写定制化的限流处理逻辑,然后将其注册至WebCallbackManager中来实现,更多信息,请参见Web Servlet Filter扩展接口

    说明

    默认情况下,当请求触发流控、降级或系统规则时会返回默认提示页面,提示信息为:Blocked by Sentinel (flow limiting)

  9. 可选:可以自定义URL清理,防止/payment/{id}这类REST风格的URL堆积过多影响系统性能,配置URL清理的方式有两种:

    • 实现自定义的UrlCleaner接口,自定义URL清理归一处理逻辑,请参见Web Servlet Filter

    • 通过properties文件配置前缀清理。

      properties文件中URL格式更改为:匹配前缀=清理后的资源名称,例如 /payment/=/payment/*。再通过启动参数-Dcsp.sentinel.url.clean.config.path配置文件路径。

      说明

      启动参数中的默认路径为JAR包所在的ahas-sentinel-url-clean.properties文件。启动参数支持classpath形式,例如:-Dcsp.sentinel.url.clean.config.path=classpath:ahas-sentinel-url-clean.properties

结果验证

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

应用防护.png

地域与RegionId对应表

地域

RegionId

公网

cn-public

华东1(杭州)

cn-hangzhou

华东2(上海)

cn-shanghai

华北2(北京)

cn-beijing

华北3(张家口)

cn-zhangjiakou

华南1(深圳)

cn-shenzhen

新加坡

ap-southeast-1

德国(法兰克福)

eu-central-1