REST consumer with Hystrix and Feign
We've used Spring Framework's RestTemplate
to consume microservices. Now, we are going to use Spring's Netflix Feign as a declarative REST client, instead of Spring RestTemplate
, to consume microservices. We have already discussed the Spring Netflix Feign client to access REST API in Chapter 8, Simplify HTTP API with Feign Client. In this section, we will use the Feign client with the circuit-breaker pattern.
If Hystrix is on the classpath and feign.hystrix.enabled=true
, Feign will wrap all methods with a circuit-breaker.
Prior to the Spring Cloud Dalston release, if Hystrix was on the classpath, Feign would have wrapped all methods in a circuit-breaker by default. This default behavior was changed in Spring Cloud Dalston in favor of an opt-in approach.
To add the Feign client in your project, add the following Maven dependency:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign...