《深入理解Spring Cloud与微服务构建》学习笔记(十四)~在Feign上使用熔断器

我们需要循序渐进,紧接着前面的项目,在module eureka_feign的plm.xml 添加熔断器依赖配置:

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>

新建一个熔断错误处理业务类,实现EurekaClientFeign service ,并返回熔断错误,配置熔断退回逻辑为错误处理类:

@Component
public class HiHystrix implements EurekaClientFeign {
    @Override
    public String sayHiFromFeignClient() {
        return "熔断器错误";
    }
}

修改EurekaClientFeign类,在@FeignClient注解中添加fallback配置快速失败处理的类,该类是Feign逻辑处理类,必须实现呗@FeignClient修饰的接口,最后需要以bean的形式注入Ioc中:


//这里声明调用eureka-lient远程服务
@FeignClient(value = "eureka-client",configuration = FeighConfig.class,fallback = HiHystrix.class)
public interface EurekaClientFeign {

    //这里声明为调用eureka-client的hello远程服务
    @GetMapping(value = "/hello")
    String sayHiFromFeignClient();

}

配置yaml,打开熔断器:

feign:
  hystrix:
    enabled: true

依次启动eureka_service的peer1实例、eureka_ client两个实例,启动eureka_feign.
浏览器访问: http://localhost:8765/hi  
多次刷新会看到轮巡切换访问eureka_client的两个实例接口。

停止eureka_client的两个或一个实例,查看效果,最后eureka_client 全部停止之后,就会看到进入熔断器错误处理逻辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值