SpringCloud-服务降级(Hystrix、降级、熔断、监控)

文章目录
服务降级
Hystrix
服务降级
创建带降级机制的pay模块
创建带降级的order模块
配置服务降级
修改pay模块
修改order模块
重复代码的问题
代码耦合度的问题
服务熔断
继续修改pay模块
总结补充
Hystrix所有可配置的属性
熔断整体流程
服务监控
HystrixDashboard
服务降级
首先需要了解一个概念,服务雪崩:

多个微服务之间调用时,假设微服务 A 调用微服务 B 和微服务 C,微服务 B 和微服务 C 又调用其它的微服务,这就是所谓的”扇出“。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务 A 的调用就会占用越来越多的系统资源,进而导致系统”雪崩效应“。

Hystrix

Hystrix是一个用于处理分布式系统的延迟和容错的开源库,它能够保证在一个依赖出现问题的情况下,不会导致整体服务失败,避免级联故障(雪崩)。

主要作用

服务降级:比如当某个服务繁忙,不能让客户端的请求一直等待,应该立刻返回给客户端一个备选方案。
服务熔断:当某个服务出现问题,卡死了,不能让用户一直等待,需要关闭所有对此服务的访问然后调用服务降级。
服务限流:比如秒杀场景,不能访问用户瞬间都访问服务器,限制一次只可以有多少请求。
接近实时的监控
Hystrix
服务降级
比如当某个服务繁忙,不能让客户端的请求一直等待,应该立刻返回给客户端一个备选方案。

出现降级的情况:

程序运行异常
超时
发生服务熔断
线程池/信号量打满
创建带降级机制的pay模块

猜你喜欢

转载自blog.csdn.net/weixin_43183496/article/details/108488633