概述
一、前言
在微服务应用中,服务存在一定的依赖关系,如果某个目标服务调用慢或者有大量超时造成服务不可用,间接导致其他的依赖服务不可用,最严重的可能会阻塞整条依赖链,最终导致业务系统崩溃(又称雪崩效应)。
上述的问题将是本篇需要解决的问题。
二、简单介绍
# 2.1 请求熔断
断路器是一种开关设置,当某个服务单元发生故障之后,通过断路器的故障监控,向调用方返回一个符合预期的服务降级处理(fallback),而不是长时间的等待或者抛出调用方无法处理的异常,这样保证了服务调用方的线程不会长时间被占用,从而避免了故障在分布式系统的蔓延乃至崩溃。
# 2.2 服务降级
fallback 相当于是降级操作。对于查询操作, 我们可以实现一个 fallback 方法, 当请求后端服务出现异常的时候, 可以使用 fallback 方法返回的值。 fallback 方法的返回值一般是设置的默认值或者来自缓存,告知后面的请求服务不可用了,不要再请求了。
# 2.3 请求熔断和服务降级区别
相同:
目标一致:为了防止系统崩溃而实施的一种防御手段
表现形式一致:当请求目标在一定时间内无响应时,返回或执行默认响应内容
不同:
触发条件不同:下游服务出现故障触发请求熔断。系统负荷超过阈值触发服务降级。
管理目标层次不同:请求熔断针对所有微服务。服务降级针对整个系统中的外围服务。
2.4 实现方案
Spring Cloud Hystrix
最后
以上就是热心背包为你收集整理的Spring Cloud 入门之 Hystrix(四) 附源码的全部内容,希望文章能够帮你解决Spring Cloud 入门之 Hystrix(四) 附源码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复