Dun*_*gVu 5 cloud spring timeout netflix-zuul
我有一个 zuul 服务器,配置文件如下:
server:
port: 9090
eureka:
client:
serviceUrl:
defaultZone: http://172.16.5.147:8761/eureka/
instance:
leaseRenewalIntervalInSeconds: 30
hostname: dev-zuulserver
non-secure-port: 80
zuul:
prefix: /v1
sensitiveHeaders: Cookie, Set-Cookie
ignoredHeaders: Access-Control-Allow-Origin
host:
connect-timeout-millis: 60000 # starting the connection
socket-timeout-millis: 120000 # monitor the continuous incoming data flow
ribbon:
eureka:
enabled: true
ReadTimeout: 120000
ConnectTimeout: 3000
hystrix:
command:
default:
execution:
isolation:
strategy: THREAD
thread:
timeoutInMilliseconds: 60000
Run Code Online (Sandbox Code Playgroud)
我有一些超时较长的查询(超过一分钟)。但是,我的所有请求总是因超时而出错,请求时间总是小于 6000 毫秒。
并且 zuul 显示了这个异常:
引起原因:java.lang.RuntimeException: java.net.SocketTimeoutException: 读取超时
在 rx.exceptions.Exceptions.propagate(Exceptions.java:58) ~[rxjava-1.1.10.jar!/:1.1.10]
在 rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:465) ~[rxjava- 1.1.10.jar!/:1.1.10] 在 rx.observables.BlockingObservable.single(BlockingObservable.java:342) ~[rxjava-1.1.10.jar!/:1.1.10] 在 com.netflix.client。 AbstractLoadBalancerAwareClient.executeWithLoadBalancer(AbstractLoadBalancerAwareClient.java:117) ~[ribbon-loadbalancer-2.2.2.jar!/:2.2.2] ... 133 个公共帧被省略 原因:java.net.SocketTimeoutException:在 java 处读取超时。 net.SocketInputStream.socketRead0(本机方法) ~[na:1.8.0_131] 在 java.net.SocketInputStream.socketRead(SocketInputStream.java:116) ~[na:1.8.0_131] 在 java.net.SocketInputStream.read(SocketInputStream .java:171) ~[na:1.8.0_131] 在 java.net.SocketInputStream.read(SocketInputStream.java:141) ~[na:1.8.0_131] 在 org.apache.http.impl.io.SessionInputBufferImpl.streamRead (SessionInputBufferImpl.java:137) ~[httpcore-4.4.6.jar!/:4.4.6] 在 org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153) ~[httpcore-4.4。 6.jar!/:4.4.6] 在 org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282) ~[httpcore-4.4.6.jar!/:4.4.6] 在 org. apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138) ~[httpclient-4.5.3.jar!/:4.5.3] 在 org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser .java:56) ~[httpclient-4.5.3.jar!/:4.5.3] 在 org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259) ~[httpcore-4.4.6. jar!/:4.4.6]在org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)〜[httpcore-4.4.6.jar!/:4.4.6]在org.apache.http。 impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165) ~[httpclient-4.5.3.jar!/:4.5.3] 在 org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273) ~ [httpcore-4.4.6.jar!/:4.4.6] 在 org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125) ~[httpcore-4.4.6.jar!/:4.4.6]
有人对这种情况有解决方案吗?
谢谢你!
尝试在 ZUUL 配置中添加功能区超时。
以下将设置超时 2 分钟。
ribbon:
ConnectTimeout: 120000
ReadTimeout: 120000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4830 次 |
| 最近记录: |