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;
            }
        };
    }
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值