在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毫秒,所以肯定会触发降级