服务熔断
类比保险丝达到最大访问后,直接拒绝访问,拉闸限电,然后调用服务降级的方法返回友好提示。
熔断是什么?
熔断机制是对雪崩效应的一种微服务链路保护机制。当扇出链路某个微服务出错不可用或者响应时间太长时,会进行服务的降级,进而熔断该节点的服务调用,快速返回错误的相应信息。
在 Spring Cloud 框架里,熔断机制通过 Hystrix 实现。Hystrix 会监控微服务间调用的状况,当失败的调用到一定阈值,缺省是5秒内20次调用,就会启动熔断机制。熔断机制的注解是 @HystrixCommand。
image哪些情况下出现服务降级?
- 程序出现异常;
- 超时;
- 服务熔断触发服务降级;
- 线程池/信号量打满也会导致服务降级。
熔断类型
-
熔断打开
请求不再进行调用当前服务,内部设置时钟一般为MTTR(平均故障处理时间),当打开时长达到所设时钟则进入半熔断状态。 -
熔断关闭
熔断关闭不会对服务进行熔断 -
熔断半开
部分请求根据规则调用当前服务,如果请求成功且符合规则则认为当前服务恢复正常,关闭熔断。
网友评论