cha*_*lvi 2 connection-timeout spring-boot microservices spring-cloud-feign
我的UI服务(端口8080)对网关服务(端口8085)进行虚假调用。
我从UI服务获得的呼叫是“ http:// localhost:8080 / invoice-list?startDate = 2018-08-05&endDate = 2018-10-05 ”
来自网关服务的类似呼叫“ http:// localhost:8085 / invoice-下载服务/发票清单?startDate = 2018-08-05&endDate = 2018-10-05 “
当我通过UI服务进行此GET调用时,我在一分钟内收到以下错误消息
is feign.RetryableException: Read timed out executing GET http://localhost:8085/invoice-download-service/invoice-list?startDate=2018-08-05&endDate=2018-10-05] with root cause
java.net.SocketTimeoutException: Read timed out
Run Code Online (Sandbox Code Playgroud)
但是,当我从网关服务器直接拨打微服务时,我没有收到错误。
网关服务的Application.properties文件
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=160000000
ribbon.OkToRetryOnAllOperations=true
ribbon.ReadTimeout=5000000
ribbon.ConnectTimeout=5000000
ribbon.MaxAutoRetries=3
ribbon.MaxAutoRetriesNextServer=3
zuul.host.socket-timeout-millis= 5000000
zuul.host.connect-timeout-millis= 5000000
Run Code Online (Sandbox Code Playgroud)
在这里,我在8到10分钟左右设置了readtimeout和connecttimeout属性,因此我没有收到错误。
UI服务的Application.properties文件
spring.application.name=external-ui-service
server.port=8080
Run Code Online (Sandbox Code Playgroud)
在UI服务中,这里没有超时属性。我在这里尝试了上面的属性,但是没有用。显然,此UI服务未使用功能区,zuul等。这只是对网关的虚假调用。
那么我该怎么做才能增加UI服务的超时时间呢?
在UI服务的application.propeties文件中添加了以下属性。
feign.client.config.default.connectTimeout: 160000000
feign.client.config.default.readTimeout: 160000000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5702 次 |
| 最近记录: |