如果依赖的第三方应用出错不会影响整体流程,则将该依赖称为弱依赖。为弱依赖配置降级原则可保证系统稳定性。

背景信息

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

在复杂链路中,若某一环不稳定,就可能最终导致整个链路都不可用。针对这种情况,可以使用应用高可用服务AHAS的应用流控降级功能为依赖方配置降级原则来保证系统稳定性。

功能原理

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

配置降级规则具体操作,请参见配置降级规则。同时可以配合Fallback功能使用,在被降级的时候提供相应的处理逻辑。