Spring Cloud 服务启动之后,立刻进行调用出现如下报错:
com.netflix.zuul.exception.ZuulException: Forwarding error
Caused by: com.netflix.client.ClientException: null
Caused by: java.lang.RuntimeException: java.net.SocketTimeoutException: Read timed out..
原因是,并不是各个实例在 Zuul 首次注册就会立刻生效,而是在进行了几次心跳之后才默认为服务器是可调用的,如失败,则需要等一下再 Call,30s 左右,Eureka 要在 Service 有几次成功的 Heart Beat 后才正式服务。
作者 Github : tojohnonly , 博客 : EnskDeCode

本文解析了SpringCloud环境下使用Zuul作为API网关时,服务启动后立即调用可能遇到的Forwardingerror及SocketTimeoutException错误。详细说明了错误原因在于服务注册至Zuul并非即时生效,需等待多次心跳确认后,Eureka才将服务视为可调用状态。建议在服务启动初期避免立即调用,等待30秒左右确保服务稳定。
168万+

被折叠的 条评论
为什么被折叠?



