强依赖隔离

若依赖的第三方应用或组件,或者应用自身的内部方法出错会影响整体流程,则称之为强依赖。对于强依赖,需要配置隔离原则来保护系统稳定性。

功能原理

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

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

说明

快速失败方式是默认的流量控制方式,当QPS超过规则的阈值后,新的请求就会被立即拒绝,拒绝方式为抛出FlowException。这种方式适用于对系统处理能力确切已知的情况下,比如通过压测确定了系统的准确水位时。

示例

若有应用A的一个接口function_0不稳定,出现慢SQL。

针对此类场景,可以为调用设置隔离规则(将阈值类型选择为线程数,并将阈值设置为0),具体操作步骤请参见配置隔离规则

配置规则后,function_0方法被限流,各SQL调用情况如下图所示。

image.png