热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

P91商品保存debug完成

1.坑:springcloud之Feign超时问题(ReadtimedoutexecutingPOSThttp:***)解决方案首先,我们看下Feign

1.坑:springcloud之Feign超时问题(Read timed out executing POST http://***)
解决方案
首先,我们看下Feign的简介

Feign 是一个声明式的web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Feign还支持可插拔的编码器与解码器,Spring Cloud 增加了对 Spring MVC的注解,Spring Web 默认使用了HttpMessageConverters, Spring Cloud 集成 Ribbon 和 Eureka 提供的负载均衡的HTTP客户端 Feign.

这么说吧,Feign接口调用分两层,Ribbon的调用和Hystrix调用,理论上设置Ribbon的时间即可,但是Ribbon的超时时间和Hystrix的超时时间需要结合起来,按照木桶原则最低的就是Feign的超时时间,建议最好配置超时时间一致。经过配置一下application设置后,完美解决了问题。因为第三方接口中需要3~20秒不等的时间,所以这个数值也是根据自己的业务系统情况设置的。

application.xml

#hystrix的超时时间
hystrix:command:default:execution:timeout:enabled: trueisolation:thread:timeoutInMilliseconds: 30000
#ribbon的超时时间
ribbon:ReadTimeout: 30000ConnectTimeout: 30000

但是在配置文件中添加ribbon. ReadTimeout 没有提示,并且加了无效。但是业务能成功。

3.远程调用失败事务无法回滚


推荐阅读
author-avatar
虫虫2彡0120106
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有