openFeign二:超时控制

当服务提供者在处理请求时延迟3秒,消费者使用Feign调用该接口会触发超时错误。在服务提供者的控制器中,有一个模拟延迟的代码段,消费者则直接转发请求。测试结果显示,Feign调用会因等待时间超过默认阈值而报错。
摘要由CSDN通过智能技术生成

feign默认的等待一秒钟内,服务提供者没有处理好业务,会报错
可以写个demo说明,如下
一:服务提供者刻意暂停3秒,在 提供者 controller中加入如下代码

@GetMapping(value = "/payment/feign/timeout")
public String paymentFeignTimeout(){
    try {
        TimeUnit.SECONDS.sleep(3);
    }catch (InterruptedException e) {
        e.printStackTrace();
    }
    return serverPort;
}

二:消费者接口

@GetMapping(value = "/payment/feign/timeout")
public String paymentFeignTimeout();

三:消费者controller

@GetMapping(value = "/consumer/payment/feign/timeout")
public String paymentFeignTimeout(){
    return paymentFeignService.paymentFeignTimeout();
}

四:测试,报错
在这里插入图片描述
五:如何解决这个问题呢?只需要在消费者yml中加入以下配置就可

ribbon:
  ReadTimeout: 5000     #读取资源时间
  ConnectTimeout: 5000  #建立链接时间

结果:成功访问,不再报错
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值