配置隔离规则用于监控强依赖的应用或服务的线程数,当应用或服务的并发数超过阈值时,AHAS 将拒绝多余的请求,直到堆积的线程处理完成,达到信号量隔离的效果。本文介绍如何配置和管理隔离规则。

前提条件

将应用接入 AHAS 应用流控降级,具体操作请参见接入应用概述

背景信息

当强依赖的应用或服务出现不稳定的时候,可以通过配置并发线程数隔离原则来限制不稳定的强依赖并发数,隔离强依赖。配置并发线程数隔离原则后,无需再进行线程池隔离,AHAS 会控制资源的线程数。当请求数超过阈值时,AHAS 将拒绝多余的请求,直到堆积的线程处理完成,以此来达到信号量隔离的效果。

线程数目超出时,设置 快速失败 能够有效地防止自己被慢调用所影响。

隔离规则配置通常用于强依赖隔离场景。

新建隔离规则

  1. 登录 AHAS 控制台
  2. 在 AHAS 控制台左上角,选择应用接入的地域
  3. 在控制台左侧导航栏中选择流控降级 > 应用流控降级
  4. 应用列表页面单击目标应用卡片。
  5. 选择以下任意一种方法进入新建隔离规则页面:
    • 在左侧导航栏单击监控详情,在监控详情页面单击资源卡片右上角 ,然后在新增规则对话框中选择隔离规则页签。
    • 在左侧导航栏单击簇点链路,然后单击目标资源操作列中的隔离
    • 在左侧导航栏单击规则管理,再单击隔离规则页签,然后在隔离规则页签右上角单击新增隔离规则
  6. 新建隔离规则对话框中展开高级选项并配置规则信息。 新增隔离规则
    • 资源名称:即待隔离的资源名称。
    • 线程数阈值:资源的并发线程数(即该资源正在执行的线程数)阈值。
    • 来源应用:即该规则针对的来源应用,默认来源应用设为 default,代表不区分来源应用。
    • 流控模式:选择资源调用关系进行流控。资源关系有:直接关联链路三种。
      • 直接:直接控制来自隔离应用中调用来源的访问流量,如果隔离应用default 则不区分调用来源。
      • 关联:控制当前资源的关联资源的流量。

        例如,read_dbwrite_db 这两个资源分别代表数据库读写。可以给 read_db 设置限流规则,设置关联资源write_db。这样当写库操作过于频繁时,读数据的请求会被限流。

      • 链路:控制该资源所在的调用链路的入口流量。选择链路后需要继续配置入口资源,即该调用链路入口的上下文名称。
    • 是否开启:打开开关表示启用该规则,关闭开关表示禁用该规则。
  7. 单击新建

    配置成功后,新的隔离规则将出现在隔离规则列表中。

管理隔离规则

隔离规则页签,您可以启用、禁用、编辑或删除隔离规则。

  • 单隔离规则启用/禁用:

    隔离规则页签,找到目标资源下对应的隔离规则,单击状态状态栏的启用开关,可快速启用或禁用该规则。

  • 多隔离规则批量启用/禁用:

    隔离规则页签,勾选多个隔离规则,单击批量启用批量禁用,可快速启用或禁用多个规则。

  • 编辑规则:

    隔离规则页签,找到目标资源下对应的隔离规则,单击操作栏的编辑,可修改该规则的相关信息。

  • 删除规则:

    隔离规则页签中,在目标资源下的隔离规则右侧操作栏单击删除