Spring Cloud 教程

Spring Cloud 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/spring_cloud-circuit-breaker.html

Spring Cloud 断路器详细解析


在分布式架构系统中,存在断路器的机制,断路器模式本身来源于著名软件工程师 Martin Fowler 的 《Circuit Breaker》 的文章。“断路器”本身是一种开关装置,用于在电路上保护线路过载,当线路中有电器发生短路时,“断路器”能够及时的切断故障电路,防止发生过载、发热、甚至起火等严重后果。

在分布式系统中,断路器模式的作用也是类似的,当某个服务单元(微服务)发生故障(类似用电器发生短路)之后,通过断路器的故障监控(类似熔断保险丝),直接切断原来的调用关系。

四种实现

Spring Cloud Circuit Breaker 为 Spring Cloud 分布式架构系统的标准,当前它支持的实现主要有 4 个,分别是 Netflix Hystrix、Resilience4J、Sentinel 和 Spring Retry。

Netflix Hystrix

Spring Cloud 的断路器最初是使用 Netflix 的 Hystrix,Hystrix 最初是由 Netflix 的 API team 研发的,用于提高 API 的弹性和性能,并在 2012 年开源,并获得业界好评。

Hystrix 促进了微服务“熔断降级”理念的推广,把隔离和熔断的理念传播到了广大的开发者当中。长期以来,只要一说到隔离和熔断降级,开发者都会首先想到 Hystrix。到了 2014 年,Netflix 全面进军 Spring Cloud,Netflix 的一系列微服务组件也随着 Spring Cloud Netflix 纷至沓来,进入到开发者的视野中;同时,Hystrix 做了一次重大的重构,将底层的统计结构用 rxjava 重构,全面拥抱了 rxjava。

现在 Netflix Hystrix 不再进行更新迭代,进入维护模式,当前稳定版本为 1.5.18。

 

Spring Cloud 是一系列框架的有序集合。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发 ...
spring-cloud-dependencies 是一个依赖管理器的 pom 文件,它是对 spring cloud 进行依赖管理。若项目 ...
这里收集了 Spring Cloud 使用中常见的问题及相应的解决方案。 ...
Netflix 在 2012 年开源了熔断降级组件 Hystrix。Hystrix 促进了微服务“熔断降级”理念的推广,把隔离和熔断的理念传 ...
对于微服务的治理而言,核心就是服务的注册和发现。所以选择哪个组件,很大程度上要看它对于服务注册与发现的解决方案。在这个领域,开源架构很多,最 ...