【SpringCloud学习】Spring Cloud Gateway熔断器使用(Greenwich版)

本文需要的demo:

服务Provider:ClientA

服务Consumer:Feign

网关:Gateway

maven需要添加:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>

具体重试代码:

spring:
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true
      routes:
        - id: hystrix_route
          uri: lb://spring-cloud-feign
          predicates:
            - Path=/hello/**
          filters:
            - StripPrefix=0
            - name: Hystrix
              args:
                name: fallbackcmd
                fallbackUri: forward:/fallback
# 超时熔断 设置为5s 如果请求在5s内还没有响应直接进入熔断逻辑
hystrix.command.fallbackcmd.execution.isolation.thread.timeoutInMilliseconds: 5000

fallbackUri: forward:/fallback会跳转到gateway的接口fallback

熔断的代码:

@RestController
public class HystrixController {

    @GetMapping("/fallback")
    public Map<String,Object> fallback() {
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("Code",200);
        map.put("Message","请稍后再试");
        return map;
    }

}

访问:http://localhost:8007/hello/ciwei在feign打个断点5s后会自动熔断的


文章作者: Ciwei
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Ciwei !
 上一篇
【SpringCloud学习】Feign捕获异常(Greenwich版) 【SpringCloud学习】Feign捕获异常(Greenwich版)
介绍feign不使用熔断器的时候捕获异常 实现ErrorDecoder获取抛出的异常 import com.fasterxml.jackson.databind.ObjectMapper; import feign.Response;
2019-07-21
下一篇 
【SpringCloud学习】Spring Cloud Gateway获取response的值(Greenwich版) 【SpringCloud学习】Spring Cloud Gateway获取response的值(Greenwich版)
SpringCloudGateway获取、修改客户端请求Request的参数,我们在上一篇已经讲过了。那么网关发起请求后,微服务返回回来的response的值,还是要经过网关才发给客户端的。很多时候,我们希望能看到响应的值,或者修改它,其实
2019-07-21
  目录