Spring Cloud 服务器启动之后立刻通过 Zuul 访问其中的实例连接超时的问题解答

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

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值