配置隔离规则

隔离规则通过控制接口或依赖的并发线程数,来保证系统的稳定性。通常适用于应用内部或下游依赖出现不稳定的场景,例如慢SQL、下游应用响应时间变长等。本文介绍如何配置和管理隔离规则。

前提条件

背景信息

当强依赖的方法或接口不稳定的时候,可以通过配置并发线程数来限制不稳定的强依赖并发数,起到隔离异常的效果。若运行该请求的响应时间变长,会导致线程的并发数增大。当并发数超过阈值以后,AHAS将拒绝多余的请求,直到堆积的任务完成,并发线程数减少,从而达到隔离异常、减小不稳定性的效果。

如何设定并发线程数阈值,可参见以下内容:

  • 并发线程数 = 期望QPS*响应时间+冗余量。

  • 例如预期的SQL执行时间为20毫秒,预期该请求每秒有20个,并发最大时为6个,建议并发线程数按照以下逻辑设置:Max(20/1000*20,6)= 6 ,再加上冗余量2 ,则建议并发数阈值设置为8。

  • 设置好后,当这个SQL发生死锁或者有性能问题,SQL运行特别慢成为慢SQL时,即使请求不断地进来,也仅仅会占用8个线程,不会因为持续进来的请求(请求也无法在短时间内退出)而耗光进程的活跃线程。

  • 当这个SQL恢复正常后,并发数会迅速减少。当并发数减少至低于预设的阈值时,系统就不会拒绝请求,应用的处理能力也快速的恢复。通过这样的方式,起到了根据响应时间自动调节的效果,隔离了不稳定的应用。

隔离规则配置通常用于强依赖隔离场景,详情请参见强依赖隔离

功能入口

  1. 登录MSE治理中心控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择治理中心 > 应用治理

  3. 应用列表页面,单击目标应用的资源卡片。

  4. 进入应用之后,选择以下任意一种方法新建隔离规则:

    • 在左侧导航栏,单击应用概览,然后单击通过QPS TOP页签,单击对应接口的操作列下的隔离

    • 在左侧导航栏,单击接口详情。单击并发隔离页签,然后单击新增隔离规则

    • 在左侧导航栏,单击流量治理。单击流量防护页签,再单击并发隔离页签,然后单击新增隔离规则

  5. 新增隔离防护规则新增规则对话框中配置规则信息,然后单击新建

    说明

    参数说明具体详见更多信息

常用示例:保障自身资源充足

当运行该请求的响应时间变长,会导致线程的并发数变大。当并发数超过阈值以后,AHAS将拒绝多余的请求,直到堆积的任务完成,并发线程数变少。达到将异常隔离,减小不稳定性的效果。例如某个SQL执行时间为20毫秒,预期该请求每秒有20个。

新增隔离防护规则新增规则对话框中配置以下规则信息:

  • 填写接口名称

  • 并发数阈值为10。

设置完成后,当这个SQL发生死锁或者存在性能问题时,该SQL运行变慢,成为慢SQL,此时即使请求不断进来,也仅仅会占用10个线程,不会因为持续进来的请求(请求也无法在短时间内退出),从而耗光进程的活跃线程。当这个SQL恢复正常后,并发数会迅速减少。当并发数减少至低于预设的阈值时,系统就不会拒绝请求,应用的处理能力也快速的恢复。通过这样的方式,起到了根据响应时间自动调节的效果,隔离了不稳定的应用。

更多信息

新增隔离防护规则新增规则对话框配置项解释如下:

配置项

描述

接口名称

待隔离的资源名称。

并发数阈值

资源的并发线程数(即该资源正在执行的线程数)阈值。