Zuul整合Hystrix断路器
Posted linlf03
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zuul整合Hystrix断路器相关的知识,希望对你有一定的参考价值。
在Zuul工程中
1、增加Zuul的Hystrix的配置
并且设置超时时间为2毫秒
2、增加业务降级处理
** * 业务降级处理 */ @Component public class MyFallback implements FallbackProvider { //针对哪一个路由进行降级, return 可以写* @Override public String getRoute() { return "film-service"; } //降级时处理方式 @Override public ClientHttpResponse fallbackResponse(String route, Throwable cause) { return new ClientHttpResponse() { @Override public HttpStatus getStatusCode() throws IOException { return HttpStatus.OK; } @Override public int getRawStatusCode() throws IOException { return 200; } @Override public String getStatusText() throws IOException { return "OK"; } @Override public void close() { } //业务降级处理方式 @Override public InputStream getBody() throws IOException { BaseResponseVO responseVO = BaseResponseVO.serviceException( new CommonServiceException(404,"System error!~")); String result = JSONObject.toJSONString(responseVO); return new ByteArrayInputStream(result.getBytes()); } @Override public HttpHeaders getHeaders() { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); return headers; } }; } }
3、测试
因为设置超时时间为2毫秒,所以肯定会触发降级
以上是关于Zuul整合Hystrix断路器的主要内容,如果未能解决你的问题,请参考以下文章
Hystrix 断路器实现在 Zuul API 网关级别或 REST API 服务级别
15Feign整合断路器监控Hystrix Dashboard
15Feign整合断路器监控Hystrix Dashboard