断路器Hystrix与高可用系统架构:资源隔离+限流+熔断+降级

2020-11-10  本文已影响0人  sknfie

概述

在分布式系统下,微服务之间不可避免地会发生相互调用,但是没有一个系统能够保证自身运行的绝对正确。微服务在调用过程中,很可能会面临依赖服务失效的问题,这些问题的发生有很多原因:

Hystrix基础能力

Spring对Hystrix 进行封装和适配,使 Hystrix 能够更好地运行于Spring Cloud 环境中,为微服务间的调用提供强有力的容错机制。Hystrix提供如下的能力:

Hystrix原理

断路器为隔断服务调用者和异常服务提供者防止服务雪崩的现象,提供了一种保护措施。

1. 服务雪崩

服务雪崩效应是一 种因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程。


服务雪崩

2.断路器

在分布式系统中,不同服务之间经常互相调用,当服务提供者不可用时就很有可能发生服务雪崩效应,导致整个系统的不可用 所以为了预防这种情况的发生,可以使用断路器模式进行处理。
断路器将远程方法调用包装在断路器对象中,用于监控方法调用过程的失败。一旦该方法调用发生的失败次数达到一定的阀值,那么这个断路器将会跳闸,在接下来时间里再次调用该方法将会被断路器 直接返回异常,而不再发生该方法的真实调用。这样就避免了服务调用者在服务提供者不可用时发送请求,从而减少线程池中资源的消耗,保护了系统 。

3.服务降级操作

而服务降级是为了在整体资源不够的时候,适当放弃部分服务,将主要的资源投放到核心服务中,待渡过难关之后,再开启已关闭的服务,保证了系统核心服务的稳定。

4.资源隔离

在 Hystrix 中采用了舱壁模式,将系统中的服务提供者隔离起来, 某个服务提供者延迟升高或者失败,并不会导致整个系统失败,同时也能够控制调用这些服务的并发度。

总结:Hystrix高可用系统架构

hystrix 提供了这些功能功能实现高可用系统架构:

上一篇下一篇

猜你喜欢

热点阅读