您当前的位置: 首页 >  spring

15SpringCloud - 断路器项目示例(Feign Hystrix)

杨林伟 发布时间:2019-05-22 10:09:02 ,浏览量:2

在 Feign中使用断路器

添加依赖

Feign是自带断路器的,如果在Dalston版本的Spring Cloud中,它没有默认打开。需要需要在配置文件中配置打开它,本项目我们是不需要打开的。

feign:
  hystrix:
    enabled: true
服务注册

修改HomeClient类 ,@FeignClient 注解,加上fallbackFactory指定新建的HystrixClientFallbackFactory 工厂类

在程序的启动类 RibbonConsumerApplication 通过 @EnableHystrix 开启 Hystrix

/**
 * 描述: 指定这个接口所要调用的 提供者服务名称 "eureka-provider"
 **/
@FeignClient(value ="eureka-provider",fallbackFactory = HystrixClientFallbackFactory.class)
public interface  HomeClient {
    
    @GetMapping("/")
    String consumer();

}

新加的类HystrixClientFallbackFactory.java

@Component
public class HystrixClientFallbackFactory implements FallbackFactory {
    @Override
    public HomeClient create(Throwable throwable) {
        return () -> "feign + hystrix ,提供者服务挂了";
    }
}
测试断路器

依次启动项目:

spring-cloud-eureka-service spring-cloud-eureka-provider-1 spring-cloud-eureka-provider-2 spring-cloud-eureka-provider-3 spring-cloud-feign-consumer-hystrix

启动该工程后,访问服务注册中心,查看服务是否都已注册成功:http://localhost:8761/ 在这里插入图片描述 在命令窗口curl http://localhost:9000/hello,发现一切正常

或者浏览器get 请求http://localhost:9000/helloF5 刷新 在这里插入图片描述 停止 spring-cloud-eureka-provider-1提供者,端口为:8081服务

再次访问命令窗口curl http://localhost:9000/hello ,断路器已经生效,提示:Feign + hystrix ,提供者服务挂了。 在这里插入图片描述

关注
打赏
1688896170
查看更多评论

杨林伟

暂无认证

  • 2浏览

    0关注

    3183博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0744s