小D课堂 - 新版本微服务springcloud+Docker教程_5-04 feign结合hystrix断路器开发实战下

笔记


4、Feign结合Hystrix断路器开发实战《下》
    简介:讲解SpringCloud整合断路器的使用,用户服务异常情况
    1、feign结合Hystrix
        
        1)开启feign支持hystrix  (注意,一定要开启,旧版本默认支持,新版本默认关闭)
            feign:
              hystrix:
                enabled: true

        2)FeignClient(name="xxx", fallback=xxx.class ), class需要继承当前FeignClient的类

开始

feign本身就包含了。hystrix的注解。点进去看openfeign的注解

open-feign里面本身包含了hyxtrix的注解

feignClient做处理 

feignClient的注解里面有个fallback的属性

需要自定义一个类实现,新建一个fallback的包

新建类

继承ProductClient并加了注解@Component加入spring容器中

实现了接口的方法,相当于出了异常用这个重写的方法去处理。我们在里面输出一段话

然后我们需要在ProductClient的注解上加上属性fallback是它的实现类

feign默认把hystrix关闭了 我们需要开启。aplication.yml
feign:
              hystrix:
                enabled: true



启动服务测试。启动ProductService和OrderService还有Eureka的Server端服务
在注册中心看到两个服务都启动起来了

这是正常情况下数据的访问

把productService停掉。再次访问接口

控制台feignClient里面已经走了fallback的方法

多次调用。都会输出

启动productService表示 服务修好了。没问题了。发现再次调用还是会出问题。

productService启动会会向注册中心发送信息告诉它我有哪些服务。orderService会定期去注册中心拿这个服务,拿到后才会去调用。
因为我们重启了productService的服务后需要等一会再去访问,这样就能正常的访问了







 

posted @ 2019-09-02 20:53  高山-景行  阅读(180)  评论(0编辑  收藏  举报