spring-cloud-starter-openfeig断路器实现

依赖:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

相对于Ribbon搭配使用来说,Feign实现断路器较之简便很多,由于Feign本就整合了Hystrix,具有熔断能力,所以无需添加其它依赖,启动类上也可不添加@EnableHystrix注解,只需在@FeignClient注解中设置异常回调就行:

@FeignClient(value = "service-hi", fallback = SchedualServiceHiBack.class)
public interface SchedualServiceHi {

    @GetMapping(value = "/hi")
    String sayHiFromClientOne(@RequestParam(value = "name") String name);
}

回调异常类SchedualServiceHiBack需要继承SchedualServiceHi,以便处理不同API的回调。

@Component
public class SchedualServiceHiHystrix implements SchedualServiceHi {

    @Override
    public String sayHiFromClientOne(String name) {
        return "来自遥远深处的错误";
    }
}

当然,这时候还是不能达到异常回调处理,重要的要来了,Feign默认是关闭熔断能力的,我们需要再配置文件中打开:

feign:
  hystrix:
    enabled: true

猜你喜欢

转载自blog.csdn.net/weixin_41131531/article/details/88661525