当若依赖的第三方应用出错不会影响而整体流程,则称之为弱依赖。对于弱依赖不稳定时,需要配置降级原则来保护系统稳定性。

背景信息

在实际业务中,应用通常会调用依赖方(远程服务、数据库、第三方 API 等)来完成服务。例如,支付的时需要远程调用银联提供的 API。然而依赖方的稳定性是不能保证的。若依赖方出现不稳定的情况,则请求和调用依赖方的方法的的响应时间变长,线程产生堆积,最终可能耗尽自身的线程数,导致应用本身不可用。

在复杂链路中,若某一环不稳定,就可能会层层渲染,最终导致整个链路都不可用。

针对以上情况,可以使用 AHAS 应用流控降级功能对依赖方配置降级原则来保证系统稳定性。

功能原理

若应用依赖于多个下游服务(弱依赖),当下游服务调用过慢,则会严重影响当前服务的调用。为调用端配置基于平均响应时间或错误率的降级规则后,当调用链路中某个下游服务调用的平均响应时间或错误率超过阈值,AHAS 就会对此调用进行降级操作,拒绝多余的调用,保护应用不被调用端短板影响。

配置降级规则具体操作步骤,请参见降级规则

同时可以配合 Fallback 功能使用,在被降级的时候提供相应的处理逻辑。