关于Hystrix超时

关于Hystrix超时

对于web的请求有些时候可能会超过2s,这时候需要设置超市请求

Hystrix的作用是对一段程序进行控制,这段程序做了什么无所谓。

程序请求服务的框架是feign,所以要对feign进行控制。

0、OpenFeign的程序

@FeignClient(value = "getname")
public interface OpenFeignTestController {

    @GetMapping("/server3")
    CommonResult getServer3Name();

    @GetMapping("/server1")
    CommonResult getServer1Name();

}

1、配置Hystrix的超时,允许程序运行。

 @GetMapping("/server3")
    @HystrixCommand(fallbackMethod = "fail",commandProperties={
            @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds",value = "4000")
    })
    public CommonResult client3(){
        return openFeignTestController.getServer3Name();
    }

2、配置feign的请求超时,这里是配置http的超时

feign.client.config.default.connect-timeout=4000
feign.client.config.default.read-timeout=4000

3、服务端睡眠2s

 @GetMapping("/server3")
    public CommonResult getServer3Name(){
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("I am "+server+" and sleep 2s");

        return ResultUtill.Ok(server);
    }

此时请求网关的/server3就可以超时了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西门吹水之城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值