P91--商品保存debug完成
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.遠程調用失敗事務無法回滾
總結
以上是生活随笔為你收集整理的P91--商品保存debug完成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python模糊匹配_python 之实
- 下一篇: 天翼网关安装php,AC双频光猫拆机:天