spring cloud hystrix--- 断路器

1.断路器的作用是:

在微服务中,服务与服务的调用通过注册中心来完成,而且每个服务都是独立的,

服务都是采用集群的形式的布置的,当注册中心和feign负载均衡分发来请求时,这个服务突然宕机了死掉了,

可是注册中心又不知道,在一定时间内有大量的请求过来,造成服务崩溃,然后调用这个的服务的服务也会停在那里等待这个服务

响应,这样的依次类推的话跟此有关的服务会一个接着一个崩溃,造成了“服务雪崩”现象,

我们用断路器的目的就是为了防止这种情况发生

首先feign分发一个请求过来,当服务挂掉的时候,断路器就会起作用,返回给feign一个信息,告诉它我宕机了,然后feign会立即把信息向上传递,分发到别的可用的服务器去,而且feign还会过一段时间就会发送一个信息,检查这个服务是不是活过来了,活了就会继续给它分发请求

使用断路器很好的保证服务会一直运行,不会造成大面积瘫痪,

2.断路器的使用

在项目中添加依赖:

<!-- 断路器 -->
        <dependency>
               <groupId>org.springframework.cloud</groupId>
               <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        </dependency>
        <!-- 服务接口的监控依赖 -->
        <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!-- 短路器仪表盘或面板的注解 -->
        <dependency>
           <groupId>org.springframework.cloud</groupId>
           <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
        </dependency>

第二个依赖是配合使用的,第三个依赖是用于在浏览器打开监控面板用的,可以要也可以不要,

然后在启动类上添加依赖

@EnableCircuitBreaker// 开启断路器注解

使用的时候我们可以在feignclient上用fallback来调用我们的异常类返回给feign宕机信息

@FeignClient(value="testService", fallback = testServiceError.class)// 需要调用的服务名,fallback调用失败时返回的处理类

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值