文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

基于springboot服务间Feign调用超时的解决方案

2024-04-02 19:55

关注

解决springboot服务间Feign调用超时问题概述

1、起因

在完成项目功能需求的开发,经过自己测试以及通过测试组测试通过后,昨晚正式部署到线上环境进行正式运行前的最后一次的测试。但是在测试中,由A服务调用B服务接口时,***通过Feign调用(其实就是http请求,当A服务调用B服务时,如果不配置超时时间,那么A发出请求后,B应该立即响应,否则A服务会认为B已经断开连接)出现***连接超时的错误,错误信息:Read timed out…

2、原因

用idea开发debug模式调试代码时,在处理服务间调用时,由于debug模式调试代码花费一些时间,结果出现Fegin连接超时问题

3、解决方案

在springboot项目application.yml配置文件中添加

#解决跨服务问题

增加配置

4、使用Feign的好处

首先我们的项目使用了SpringCloud技术,而Feign可以和SpringCloud技术无缝整合。并且,你一旦使用了Feign作为http客户端,调用远程的http接口就会变得像调用本地方法一样简单。

5、项目如何使用Feign

(1) 首先你得引入Feign依赖的jar包:

gradle依赖:

compile "org.springframework.cloud:spring-cloud-netflix-core:1.3.2.RELEASE"

Maven依赖:

Maven依赖:

(2) 在properties配置文件中配置要调用的接口的URL路径(域名部分)

url.xapi=http://xapi.xuebusi.com

(3) 声明要调用的远程接口

在这里插入图片描述

6、说明:

(1) @FeignClient 是Feign提供的注解,用于通知Feign组件对该接口进行代理(不需要编写接口实现),使用者可直接通过@Autowired注入。

(2) @RequestMapping 是Spring提供的注解,这里可以直接使用以前使用SpringMVC时用过的各种注解,唯一不同的是,这里只是把注解用在了接口上。

(3) 如果将Feign与Eureka组合使用,@FeignClient(name = “xapi”)意为通知Feign在调用该接口方法时要向Eureka中查询名为 xapi 的服务,从而得到服务URL,

(4) 但是远程的http接口并不是我们自己的,我们无法把它注册到Eureka中,所以这里我们就使用 url = “${url.xapi}” 把要调用的接口的url域名部分直接写死到配置文件中。

feign超时问题解决必杀技

1、配置中添加:


feign:
  hystrix:
    enabled: false

2、添加:


hystrix:
  command:
    default:
      execution:
        timeout:
          enabled: false

3、添加:


ribbon:
  ReadTimeout: 10000
  ConnectTimeout: 10000

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯