在微服务架构中,微服务之间通过网络进行通信,存在相互依赖,当其中一个服务不可用时,有可能造成雪崩效应,要防止这样的情况,必须要有容错机制来保护服务。
有一个用户 请求 订单服务
订单服务 请求 商品服务
商品服务 请求 库存服务
库存服务失效
进程等待
又有一个用户 请求 订单服务
进程等待
又有一个用户 请求 订单服务
进程等待
又有一个用户 请求 订单服务
进程等待
.
.
.
直到服务器资源用尽
咔,宕机
这个时候,服务的熔断和降级就应运而生了
(1)服务熔断
设置服务器的超市,当被调用的服务经常失败到达某个阈值,我们就可以开启断路保护机制,后来的请求不再去调用这个服务。本地直接返回默认的数据。
(2)服务降级
在运维期间,当系统处于高峰期的时候,系统资源紧张,我们可以让非核心业务降级运行。降级:某些服务不处理,或者简单处理【抛异常、返回NULL、调用Mock数据、调用Fallback处理逻辑】