RPC行为可以在RPC类型埋点资源触发了某种规则后,返回相应的自定义的处理行为,例如某个RPC接口触发流控规则后返回自定义的接口返回值。本文介绍如何新增、修改、删除和关联RPC行为。

前提条件

  • 将应用接入AHAS应用防护。具体操作,请参见接入应用方式
  • RPC行为仅支持AHAS Sentinel Java SDK 1.9.5及以上版本。
  • RPC行为目前仅支持在Dubbo类型接口下生效。
  • RPC行为暂不支持其他多语言SDK方式接入。

背景信息

配置行为主要是配置Fallback行为。Fallback行为定义某个埋点资源触发了某种规则(如流控、熔断、降级)后的处理行为。目前Fallback行为仅支持Web和RPC两种资源类型。本文介绍Fallback行为中RPC行为的配置方法。

新增行为

  1. 登录AHAS控制台,然后在页面左上角选择地域。
  2. 在控制台左侧导航栏中选择流量防护 > 应用防护
  3. 应用防护页面单击目标应用卡片。
  4. 在左侧导航栏选择应用管理,然后单击行为管理页签。
  5. 单击新增行为,在新增行为对话框中完成以下配置。
    参数 描述 示例值
    行为名称 该行为的名称。长度不超过128个字符,同个应用内名称不能重复。 测试行为
    针对的资源类型 包括Web和RPC两种类型,此处选择RPC类型。 RPC
    缓存实例 是否缓存返回值。若开启,则会缓存生成的Fallback对象,在该行为触发时,均复用同一对象。 开启
    RPC限流处理策略 定义RPC接口访问触发某种规则后的行为表现。目前支持以下两种策略:
    • 自定义返回:自定义返回结果。需设置自定义路径和返回的内容,表示RPC接口访问触发规则后返回自定义的实体类。
    • 自定义异常:抛出自定义异常。需设置异常的类名和异常文本,表示RPC接口访问触发规则后系统会返回指定的异常信息。
    自定义返回
    返回值类名 选择RPC限流处理策略为自定义返回时,需填写的类名称路径。
    说明 自定义返回目前不支持对象类型中包含泛型,如Map<K, V>、List<T>等。
    com.alibaba.demo.RpcResult
    对象内容(JSON格式) 选择RPC限流处理策略为自定义返回时,填写当RPC接口访问触发规则时返回结果的对象属性。 {"id": "123", "name": "test"}
    异常类名 选择RPC限流处理策略为自定义异常时,需填写的异常类名称路径。 java.lang.RuntimeException
    异常信息文本 选择RPC限流处理策略为自定义异常时,填写RPC接口访问触发规则后抛出自定义异常的文本信息。
    说明 当前异常仅支持包含String类型构建函数的异常类。
    "Operation failed"
  6. 单击校验
    说明 RPC行为的数据结构需要与客户端相应接口的数据结构保持一致。因此,新增RPC行为时,需完成数据类型的校验才能完成创建。校验失败时可以根据相应异常信息提示进行修改。
  7. 单击新建
    新增的行为会显示在应用管理页面的行为管理页签中。

修改或删除行为

  1. 登录AHAS控制台,然后在页面左上角选择地域。
  2. 在控制台左侧导航栏中选择流量防护 > 应用防护
  3. 应用防护页面单击目标应用卡片。
  4. 在左侧导航栏选择应用管理,然后单击行为管理页签。
    在行为列表页,您可以查看各个行为的具体描述,修改或删除行为。

关联行为

  1. 登录AHAS控制台,然后在页面左上角选择地域。
  2. 在控制台左侧导航栏中选择流量防护 > 应用防护
  3. 应用防护页面单击目标应用卡片。
  4. 选择以下任意一种方式进入新增流控防护规则页面:
    • 在左侧导航栏单击接口详情后,在RPC服务页签下单击目标接口卡片右上角的设置图标图标进入管理规则页面,然后单击新增流控规则
    • 在左侧导航栏单击规则管理,然后在流控规则页签下单击新增流控规则
  5. 完成选择防护场景和配置防护规则后,在配置限流行为区域,完成下列设置。
    1. 选择接口类型Rpc
    2. 关联行为的下拉列表中选择目标行为进行关联,或单击新增行为来创建新的行为进行关联。
    说明
    • 如果您不需要自定义限流后的Fallback行为,则选择默认行为即可,默认接口类型为空。
    • 新增规则时,若当前接口已有绑定行为,后续若绑定新的行为则会覆盖接口下已有的行为。
    • 选择Fallback类型时,若不选择接口类型,则绑定默认行为;选择接口类型并绑定相应类型行为后,不可修改。
  6. 单击下一步后,单击新增