gateway整合Hystrix详细教程

gateway整合Hystrix详细教程

一、首先maven依赖导入

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

二、设置yml文件,在routes组里面加上这个

- id: product_consumer
          uri: lb://service-consumer
          predicates:
          - Path=/Cus_echo/** #拦截该路径转发到URI
          - After=2019-12-25T14:33:47.789+08:00
          - Method=GET
          filters:
          - AddRequestHeader=X-Request-Foo, Bar
          - AddRequestParameter=foo, bar
          - AddResponseHeader=X-Response-Foo, Bar
          - name: Hystrix 
            args:
              name: fallbackcmd 
              fallbackUri: forward:/fallback  #返回路径

接着第二步在yml中设置Hystrix的全局超时信息

#这里的fallbackcmd就是第二步的那个名字
hystrix.command.fallbackcmd.execution.isolation.thread.timeoutInMilliseconds: 3000

三、最后一步,在gateway的controller里面设置/fallback路径

@RestController
    public class DefaultHystrixController{
        @RequestMapping(value = "/fallback",method = RequestMethod.GET)
        public String fallback(){
            System.out.println("fallback****************Gateway");
            return "welcome to fallback";
        }
    }

为了看见效果,你可以在访问 lb://service-consumer 的时候,故意在方法里面设置Thread,slepp(5000),超过3秒返回结果,就会触发Hystrix的。请求路径将被转发到 /fallback

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值