Feign集成Hystrix步骤:
1、在Feign客户端引入Hystrix依赖,注意:maven依赖坐标会因SpringCloud的版本不同而不同,请参考官方文档。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
2、编写Feign客户端及fallback处理类。
@FeignClient(name = "eureka-client", fallback = HiFallBack.class)
public interface EurekaClientFeign {
@GetMapping("/hi")
String hi(@RequestParam("name") String name);
}
/**
* 服务熔断时调用的方法
*/
@Component
public class HiFallBack implements EurekaClientFeign {
@Override
public String hi(String name) {
return String.format("hi %s, this message from fallback.", name);
}
}
3、使用@EnableHystrix注解开启Hystrix相关功能,这一步有些版本是可选的,最好还是都加上,一目了然嘛。
@EnableHystrix
@EnableFeignClients
@EnableEurekaClient
@SpringBootApplication
public class EurekaFeignClientApp {
public static void main(String[] args) {
SpringApplication.run(EurekaFeignClientApp.class, args);
}
}
一般来说,通过上面的操作应该没什么问题了,