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

功能原理

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

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

示例

若有应用 A 的一个内部方法 user_test不稳定,出现慢 SQL。

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

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

ex_强依赖隔离