分布式微服务,在服务调用的时候可能回因为网络故障以及其他原因,造成服务无法调用。会导致该线程无法关闭,一直卡在这里,等到卡住的线程越来越多,服务器资源被耗尽,就会出现服务宕机,一连串相关的服务宕机(雪崩效应)

hystrix可以解决这个问题!!!

下面教程是在用openfeign服务调用下使用hystrix熔断器,本文的教程在前文openfeign的基础上:(三)SpringCloud实战之openfeign服务调用

一、相关依赖

openfeign中集成了ribbon和hystrix。这里不用专门引入依赖。

在这里插入图片描述

二、使用断熔器

第一步、配置文件开启hystrix断熔器

(默认是关闭的 ,需要手动开启)

feign.hystrix.enabled=true

第二步、 编写熔断器接口实现类

新建文件夹service–>feign–>fallback
在fallback文件夹下新建类FCourseServiceImpl,继承FCourseService

在这里插入图片描述

第三步、feign接口注解添加fallback属性

在接口FCourseService的@FeignClient注解,加上fallback属性,内容是刚刚新建的熔断器实现类。

@FeignClient(name = “course-service”,fallback =
FCourseServiceImpl.class)

在这里插入图片描述
到这里,hystrix断熔器已经实现并开启!!!
我们关闭cource-service(被调用端)
开启student-service(服务调用端)
打开浏览器访问:http://localhost:8011/student/selectAllCourse
(localhost:8011是student-service的服务地址)
在这里插入图片描述
发现熔断器已经生效!!!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐