SpringCloud成长笔记(七)Feign调用以及Hystrix的熔断器

SpringCloud成长笔记(七)Feign调用以及Hystrix的熔断器

  • 一、简介
  • 二、环境搭建
  • 三、源码
  • 四、运行
  • 五、github源码
  • 六、参考资料

一、简介

使用fegin进行微服务之间的调用时,不同的微服务依赖关系会越来越复杂,那如果某一个节点的发生故障,并且有大量请求的时候,可能会给上层调用的微服务带来很大的压力。这时候就需要熔断机制,当某个微服务发生异常时,尽快的返回错误码。

二、环境搭建

上一个工程
在这个工程的基础上进行调整。

三、源码

Service的接口,当接口发生异常时,直接调用fallback返回异常

/**
 * 调用Hystrix的微服务,用于验证熔断器
 * Created by MHm on 2019/8/21.
 */
@FeignClient(value = "bg-cloud-zipkin",fallback = FeignApiFallBack.class)
public interface HystrixService {

    //服务中方法的映射路径
    @RequestMapping(value = "/test",method = RequestMethod.GET)
    String test();
}

fallback实现service的接口

/**
 * 熔断器
 * Created by MHm on 2019/8/30.
 */
@Component
public class FeignApiFallBack implements HystrixService{
    @RequestMapping("/test")
    public String test(){
        return "failed";
    }
}

四、运行

直接请求test3接口,运行情况如下:
SpringCloud成长笔记(七)Feign调用以及Hystrix的熔断器_第1张图片

五、github源码

Github

六、参考资料

你可能感兴趣的:(3,SpringBoot,SpringCloud)