Hystrix保护整个系统不会因为某一条调用链路上的响应超时导致整个系统瘫痪。
熔断(快速断开),限流/分流
hystrix断路器有三种状态:
- 关闭
- 开启(请求过不去)
- 半开(先放一个,若可通过,全放行,不能通过,继续开启熔断)
用法
熔断方法和远程调用方法签名一样,若熔断了将不会远程调用,直接fallback调用熔断方法
@FeignClient(value = "service-helloworld",fallback = HelloApiFallback.class)
public interface HelloApi {
@RequestMapping(method = RequestMethod.GET, value = "/hello")
public String sayHello(@RequestParam("name")String name);
}
@Component
public class HelloApiFallback implements HelloApi{
@Override
public String sayHello(String name) {
return "服务异常,启动熔断,HelloWorld";
}
}