Spring Cloud Circuit Breaker使用

Circuit Breaker 即断路器,在微服务架构中非常有用。

它可以很好地解决这样一个问题:在众多的微服务集群中,服务之间会反复地调用,发送请求,获取响应。有时候最初的一次请求调用,会触发牵连到更多请求调用,比如说这个关联的复杂度达到了10级,那么这10个关联请求中,只要有一个发生了错误,比如说其中的一台被调用的服务器挂了,如果事先对这种错误机制没有处理的话,将会引起雪崩效应,可能造成整个服务器集群崩溃。造成的 结构将是灾难性的。

Circuit Breaker断路器就很好地解决了这种棘手问题,它会智能地处理(当然需要我们设置一些有效的回滚策略)一个请求调用另一个请求出错,而不能正常返回结果的情况。

spring cloud常用的断路器有:

Resilience4JSentinel, or Hystrix等;

本文以Resilience4J为例,官网介绍它非常地轻量级。。

首先,确认一点,断路器是设置在client端,即请求发出的地方,这一点应该很容易理解,只有在请求发出的地方才能进行容错处理,如果设在server端,server都挂了,还容错个P呀。。

其次,引入spring对Resilience4J的支持;

以maven管理为例,在pom.xml文件中添加如下依赖:

<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-circuitbreaker-reactor-resilience4j</artifactId>
		</dependency>

注意,需要指定cloud依赖的版本:

<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>2021.0.3-SNAPSHOT</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

最后,是创建ReactiveCircuitBreakerFactory,并使用:

spring提供的类似于断路器功能的模块包,确实挺实用的,也非常方便。

后面对断路器的配置规则研究清楚了,会继续更新……

欢迎关注我,一起交流学习新的软件技术👇👇👇👇👇👇

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Cloud 的发展历程可以分为以下几个阶段: 1. 2014年,Spring Cloud 项目正式启动,开始致力于为开发人员提供构建分布式系统的工具、框架和服务。 2. 2015年,Spring Cloud Netflix 子项目发布,为开发人员提供了 Netflix OSS(Open Source Software)的集成,包括 Eureka、Hystrix、Ribbon、Zuul 等组件,这些组件提供了分布式系统所需的服务发现、熔断、负载均衡、路由等功能。 3. 2016年,Spring Cloud 发布了 Dalston 版本,增加了对 Consul 和 ZooKeeper 的支持,以及新的组件 Spring Cloud Stream 和 Spring Cloud Task。 4. 2017年,Spring Cloud 发布了 Edgware 版本,引入了 Spring Cloud Gateway 和 Spring Cloud Kubernetes,增强了对 Istio 的支持,同时对 Spring Boot 2.0 进行了适配。 5. 2018年,Spring Cloud 发布了 Finchley 版本,增加了对 Spring Cloud Function 和 Spring Cloud Circuit Breaker 的支持,同时增加了对 Spring Cloud Alibaba 的支持。 6. 2019年,Spring Cloud 发布了 Greenwich 版本,引入了 Spring Cloud LoadBalancerSpring Cloud Circuit Breaker 的新版本,改进了 Spring Cloud Stream 和 Spring Cloud Task。 7. 2020年,Spring Cloud 发布了 Hoxton 版本,增加了对 Spring Cloud Gateway 和 Spring Cloud Config 的新特性,改进了 Spring Cloud Sleuth 和 Spring Cloud OpenFeign。 可以看出,Spring Cloud 的发展历程非常快速,不断推出新版本,增强功能,适应新的技术趋势和业务需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lixiaotao_1

谢谢老板!~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值