Zuul中的Hystrix的使用(Zuul的回退)

1、pom.xml

在之前的pom中添加

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
            <!--客户端只有当我们有了这个依赖之后,才能有那些状态页面的查看,否则会报ErrorPage-->
        </dependency>

这个依赖是让我们添加一些依赖的端点

2、application.yml

在之前的application.yml中添加

management:
  endpoints:
    web:
      exposure:
        include: hystrix.stream,health,info,routes

这段代表的是我们需要开放的端点,如果不进行配置,那么只有health和info,配置会直接覆盖掉原有的这两个端点,然后再添加include里面的端点

3、验证zuul里面配有hystrix(访问hystrix.stream端点)

 4、可以尝试根据之前的dashboard配置进行尝试

5、Zuul的回退类

在E版本之前都是ZuulFallbackProvider,E版本之后就变成了FallbackProvider,直接添加类如下,即可

@Component
public class MyFallbackProvider implements FallbackProvider {

    @Override
    public String getRoute() {      //表明为哪个微服务提供回退,return "*"代表为所有微服务提供回退
        return "eureka-client-provider";
    }

    @Override
    public ClientHttpResponse fallbackResponse(String route, Throwable cause) {
        return new ClientHttpResponse() {
            @Override
            public HttpStatus getStatusCode() throws IOException {
                return HttpStatus.OK;       //获取状态码(200,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 {
                return new ByteArrayInputStream("连接异常".getBytes());     //返回的内容
            }

            @Override
            public HttpHeaders getHeaders() {
                HttpHeaders headers = new HttpHeaders();            //返回时的Header体的设置
                headers.setContentType(MediaType.APPLICATION_JSON);
                return headers;
            }
        };
    }
}

 

posted @ 2019-01-14 13:49  柚子味儿的西瓜  阅读(25)  评论(0)    收藏  举报