一个服务常常会调用别的模块,可能是另外的一个远程服务、数据库,或者第三方 API 等。例如,支付的时候,可能需要远程调用银联提供的 API;查询某个商品的价格, 可能需要进行数据库查询。然而,这个被依赖服务的稳定性是不能保证的。如果依赖的服务 出现了不稳定的情况,请求的响应时间变长,那么调用服务的方法的响应时间也会变长,线 程会产生堆积,最终可能耗尽业务自身的线程池,服务本身也变得不可用。 现代微服务架构都是分布式的,由非常多的服务组成。不同服务之间相互调用,组成复 杂的调用链路。以上的问题在链路调用中会产生放大的效果。复杂链路上的某一环不稳定, 就可能会层层级联,最终导致整个链路都不可用。因此我们需要对不稳定的弱依赖服务进行 熔断降级,暂时切断不稳定调用,避免局部不稳定因素导致整体的雪崩。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。