通过 SDK 接入方式将应用接入 AHAS 应用流控降级后,如果默认的配置无法满足您的业务需求,可以使用 AHAS 应用流控降级的 SDK 可以配置对代码块的流控、配置应用被流控/降级后的行为以及配置扩展接口等。

配置对代码块的流控

AHAS 是围绕着资源来工作的。可通过定义资源来实现对代码块的流控。定义资源后,在 AHAS 控制台配置相应的规则即可生效。可通过以下几种方式来定义资源:

  • 注解方式定义资源
  • 抛出异常的方式定义资源
  • 返回布尔值方式定义资源
  • 异步调用支持
  • 主流框架的默认适配

定义资源详情请参见定义资源

配置触发规则后的逻辑

当应用触发流控、降级或系统规则时,默认抛出 BlockException 异常类的子类(触发流控规则,则抛出流控异常 FlowException;触发降级规则,则抛出降级异常 DegradeException)。

若默认配置不能满足您的需求,可通过以下几种方式配置应用触发流控/降级规则后的逻辑:

  • 注解方式:适用于使用自定义埋点的 Spring Boot 应用接入、自定义埋点接入和注解接入等方式。
  • Web Servlet Filter:适用于使用 HTTP 埋点的 Spring Boot 应用接入和 Web 应用接入等方式。
  • Dubbo Adapter:适用于 Dubbo 应用接入方式。

配置触发规则后的逻辑详情请参见配置触发规则后的逻辑

常用类、方法及扩展接口

AHAS 应用流控降级提供了常用类及其扩展方法和扩展接口,详情请参见常用类及其方法扩展接口

更多信息

  • AHAS 提供了样例工程来帮助您体验流控降级功能,详情参见样例工程
  • 可以通过查看日志,来快速查看单机运行情况,排查问题。日志详情请参见重要日志