AHAS主动降级规则可以指定对某些接口进行降级,被降级的接口会触发自定义的降级行为(如返回指定内容)而不会执行原有的逻辑。本文介绍如何新增主动降级规则。

前提条件

将应用接入AHAS应用防护,具体操作,请参见接入应用方式

注意事项

主动降级规则支持的场景说明如下:

  • 主动降级规则仅支持AHAS Sentinel Java SDK或Agent 1.8.4及以上版本。
  • 降级规则中的行为配置目前仅对AHAS自带的Web埋点生效(Servlet、Spring Web、Spring Cloud Gateway适配),其它埋点类型仍会按照原有的Fallback逻辑进行处理。更多信息,请参见配置触发规则后的逻辑
  • 若有在代码中注册Block Handler的方式自定义Fallback逻辑,则控制台配置的主动降级规则行为配置不生效。
  • 主动降级规则暂不支持其他多语言SDK方式接入。

新增主动降级规则

  1. 登录AHAS控制台,然后在页面左上角选择地域
  2. 在控制台左侧导航栏中选择流量防护 > 应用防护
  3. 应用防护页面单击目标应用卡片。
  4. 选择以下任意一种方法进入设置主动降级规则的对话框。
    • 在左侧导航栏单击接口详情,在接口详情页面单击资源卡片右上角新增管理规则的图标,在管理规则对话框中单击目标方案的页签,然后单击降级规则页签,在页面右上角单击新增主动降级规则
    • 在左侧导航栏单击规则设置,单击目标方案的页签,然后单击降级规则页签,在页面右上角单击新增主动降级规则
  5. 在设置主动降级规则的对话框,完成以下配置,然后单击新建
    参数 描述 示例值
    接口名称 适用该规则的资源名称,需要与监控页面上的资源名(埋点传入的资源名)保持一致。 /hello
    降级行为选择 表示开启该降级规则后,该接口调用的行为。

    默认行为对应应用设置页面基础设置中的模块适配设置Web的配置。具体操作,请参见设置适配模块

    说明 目前降级行为只对AHAS自带的Web埋点生效。
    默认行为

    若需要新增行为,单击新增行为,完成以下配置,然后单击新增。更多信息,请参见管理行为

    参数 描述 示例值
    行为名称 该行为的名称。长度不超过128个字符,同个应用内名称不能重复。 测试行为
    针对的资源类型 目前仅支持Web类型。 Web
    Web限流处理策略 定义Web接口访问触发某种规则后的行为表现。目前支持以下两种策略:
    • 自定义返回:需设置HTTP返回状态码、返回内容的格式和返回的内容。表示Web接口访问触发规则后返回自定义的内容。
    • 跳转到指定页面:需设置指定跳转的URL。表示Web接口访问触发规则后系统会跳转指定的页面URL。
    自定义返回
    HTTP返回状态码 默认429。当Web限流处理策略为自定义返回时,需要填写。 429
    返回content-type 设置返回内容的格式为普通文本(TEXT)或JSON。当Web限流处理策略为自定义返回时,需要填写。 JSON字符串
    HTTP返回文本 输入当Web接口访问触发规则后返回的内容。当Web限流处理策略为自定义返回时,需要填写。 {"message": "blocked oops"}
    跳转地址 输入当Web接口访问触发规则后系统会跳转的页面URL。当Web限流处理策略为跳转到指定页面时,需要填写。
    说明 跳转的本质是返回302状态码。对于后端服务直接渲染返回的页面,跳转是有效的;对于前端通过AJAX请求到后端服务后,再解析后端返回到前端展示的页面,跳转无效。
    http://ahas.console.aliyun.com
    设置完成的主动降级规则会展示在规则设置页面主动降级规则列表中。