Spring Cloud Hystrix 可以实现的功能
降级,熔断...
0. 工程中引入jar包
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency>
1.启动类添加引用
@EnableCircuitBreaker
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.openfeign.EnableFeignClients; @SpringBootApplication @EnableEurekaClient @EnableFeignClients("com.lvlvstart.spring.demo.common.client") @EnableCircuitBreaker //熔断器注解 public class SpringUserApplication { public static void main(String[] args) { SpringApplication.run(SpringUserApplication.class, args); } }
1.降级
方法上添加注解 @HystrixCommand ,除了 HystrixBadRequestException 以外的异常,都会触发降级
@HystrixCommand(fallbackMethod = "msg")
@HystrixCommand(fallbackMethod = "msg") @PostMapping("findAllSchoolGet") public Result findAllGet(){ return schoolClient.findAll(); }