强依赖隔离
若依赖的第三方应用或组件,或者应用自身的内部方法出错会影响整体流程,则称之为强依赖。对于强依赖,需要配置隔离原则来保护系统稳定性。
功能原理
当强依赖出现不稳定的时候,可以通过配置并发线程数隔离原则来限制不稳定的强依赖并发数,隔离强依赖。配置并发线程数隔离原则后,无需再进行线程池隔离,AHAS会控制资源的线程数。当请求数超过阈值时,AHAS将拒绝多余的请求,直到堆积的线程处理完成,以此来达到信号量隔离的效果。
线程数目超出时,设置快速失败能够有效地防止自己被慢调用所影响。
说明
快速失败方式是默认的流量控制方式,当QPS超过规则的阈值后,新的请求就会被立即拒绝,拒绝方式为抛出FlowException。这种方式适用于对系统处理能力确切已知的情况下,比如通过压测确定了系统的准确水位时。
示例
若有应用A的一个接口function_0
不稳定,出现慢SQL。
针对此类场景,可以为调用设置隔离规则(将阈值类型选择为线程数,并将阈值设置为0),具体操作步骤请参见配置隔离规则。
配置规则后,function_0
方法被限流,各SQL调用情况如下图所示。