文档章节

spring cloud feign 常见问题解决办法

xixingzhe
 xixingzhe
发布于 2017/09/07 15:37
字数 336
阅读 141
收藏 0

1、第一次访问失败原因   

     一般首次访问都会比较慢,因为spring的懒加载机制,需要实例化一些类。hystrix默认的超时时间为1秒,超过后,就会调用fallback代码。解决方案有一下三种:

1.1、加大hystrix的超时时间

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 100000

1.2、禁用hystrix超时时间

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

1.3、禁用feign的hystrix(不推荐)

feign.hystrix.enabled: false

2、client(消费者)启动失败原因

    消费者一般和api接口定义不在一个package下,导致启动失败。解决办法引入api的package:

@SpringBootApplication(scanBasePackages= {"com.api"})
@EnableFeignClients(basePackages={"com.api"})

3、使用@RequestParam, @RequestBody 时需要注意的

请参考https://my.oschina.net/u/182501/blog/1532081。

4、Feign使用http client

     Feign在默认情况下使用的是JDK原生的URLConnection发送HTTP请求,没有连接池,但是对每个地址会保持一个长连接,即利用HTTP的persistence connection 。我们可以用Apache的HTTP Client替换Feign原始的http client, 从而获取连接池、超时时间等与性能息息相关的控制能力。Spring Cloud从Brixtion.SR5版本开始支持这种替换,首先在项目中声明Apache HTTP Client和feign-httpclient依赖:

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>${httpclient.version}</version>
</dependency>
<dependency>
	<groupId>com.netflix.feign</groupId>
	<artifactId>feign-httpclient</artifactId>
	<version>${feign-httpclient.version}</version>
</dependency>

    配置application.yml

feign: 
  httpclient:
    enabled: true #启用httpclient

 

© 著作权归作者所有

共有 人打赏支持
xixingzhe
粉丝 2
博文 175
码字总数 46744
作品 0
西城
程序员
私信 提问
微服务开发架构——Spring Cloud常见问题与总结Spring Cloud 各组件配置属性

个人GitHub地址:https://github.com/leebingbin/ 在使用Spring Cloud的过程中,难免会遇到一些问题。所以对Spring Cloud的常用问题做一些总结。 关于“Eureka常见问题”可以参考,我之前的文...

Mr_ET
2017/11/02
0
0
微服务开发架构——Spring Cloud常见问题与总结Hystrix/Feign 整合Hystrix后首次请求失败

个人GitHub地址:https://github.com/leebingbin/ 在使用Spring Cloud的过程中,难免会遇到一些问题。所以对Spring Cloud的常用问题做一些总结。 关于“Eureka常见问题”可以参考,我之前的文...

Mr_ET
2017/10/30
0
0
微服务开发架构——Spring Cloud常见问题与总结Turbine 聚合数据不完整

个人GitHub地址:https://github.com/leebingbin/ 在使用Spring Cloud的过程中,难免会遇到一些问题。所以对Spring Cloud的常用问题做一些总结。 三、Turbine 聚合数据不完整 在某些版本的S...

Mr_ET
2017/11/01
0
0
热门技术从零开始学Spring Cloud视频教程发布

使用技术 (1)spring boot,使用版本:1.5.8 (2)spring cloud ,使用版本:Dalston.SR4 (3)Netflix Eureka (4)Netflix Ribbon (5)Feign (6)Netflix Hystrix (7)Spring Clou Con...

小红牛
08/04
0
0
微服务开发架构——Spring Cloud常见问题与总结Spring Cloud 定位问题思路总结

个人GitHub地址:https://github.com/leebingbin/ 在使用Spring Cloud的过程中,难免会遇到一些问题。所以对Spring Cloud的常用问题做一些总结。 五、Spring Cloud 定位问题思路总结 根据市场...

Mr_ET
2017/11/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Windows / Linux / MacOS 设置代理上网的方法汇总

本文汇总了 Windows / Linux / MacOS 设置代理上网的各种方法,总结如下: 1、设置系统代理(Windows、Linux、MacOS) 2、设置代理插件(Chrome、Chromium、Firefox、Opera、QQ等浏览器) 3、...

sunboy2050
昨天
1
0
自定义 Maven 的 repositories

有时,应用中需要一些比较新的依赖,而这些依赖并没有正式发布,还是处于milestone或者是snapshot阶段,并不能从中央仓库或者镜像站上下载到。此时,就需要 自定义Maven的<repositories>。 ...

waylau
昨天
1
0
徒手写一个es6代码库

mkdir democd demonpm initnpm install -g babelnpm install -g babel-clinpm install --save-dev babel-preset-es2015-node5 在项目目录创建两个文件夹 functional-playground ......

lilugirl
昨天
2
0
linux定位应用问题的一些常用命令,特别针对内存和线程分析的dump命令

1.jps找出进程号,找到对应的进程号后面才好继续操作 2.linux查看进程详细信息 ps -ef | grep 进程ID 3. dump内存信息 Jmap -dump:format=b,file=YYMMddhhmm.dump pid 4.top查看cpu占用信息 ...

noob_chr
昨天
2
0
Android TV开发-按键焦点

写在前面 按键焦点过程了解 2.1 dispatchKeyEvent 过程了解 2.2 焦点查找请求过程了解 1.2.1 第一次获取焦点 1.2.3 按键焦点 焦点控制 焦点记忆 应用场景 参考资料 [TOC] 1. 写在前面 工...

冰雪情缘l
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部