SpringCloud-hystrix
SpringCloud-hystrix简单使用
- 引入依赖
- 开启服务熔断
- 编写服务
引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
开启服务熔断
添加注解
@EnableFeignClients
@EnableCircuitBreaker
编写服务
在调用服务的方法上添加注解
@GetMapping("/info")
@HystrixCommand(fallbackMethod="defaultInfo")
public String info(){
//通过feign调用服务
return infoDao.info(); //当远程服务不通,会走执行默认方法
}
public String defaultInfo(){
return "Server is down! ";
}
服务调用使用了Feign技术,可以使用更简洁方式实现熔断,如下:
但需要添加配置:feign.hystrix.enabled=true
@FeignClient(name="service-test", fallback=InfoFallback.class)
public interface InfoService {
@GetMapping("/info/list")
List<Info> info() throws Exception;
@GetMapping("/info/{id}")
RestResult getInfo(@PathVariable("id") String id);
}
@Component
public class InfoFallback implements InfoService {
@Override
public List<Info> info() throws Exception {
//**
return info;
}
@Override
public RestResult getInfo(String id) {
return null;
}
}
还没有评论,来说两句吧...