首页 > 解决方案 > Feign 客户端尝试联系实例,即使它们已关闭

问题描述

我有多个在 eureka 注册的服务实例;使用 FeignClient 时,我能够使用已注册应用程序的服务名称成功联系这些实例。

但是有一个“问题”:如果我关闭了其中一个实例(我还验证了该实例已正确关闭并且它已立即取消注册)然后向调用服务的“网关”发出一些请求通过 Feign,负载均衡器仍然尝试联系关闭的实例一段时间,从而导致超时和请求明显失败。

如何避免这种行为?有没有办法强制更新在线实例,以避免请求超时。

我还尝试在应用程序执行期间在运行时从发现客户端手动获取所有在线实例,并且在线实例列表是正确的(发现服务器几乎立即正确地通知实例的每次关闭/启动)。

为什么 FeignClient 没有得到“更新”并且即使应用内发现客户端实例列表已更新,仍会调用死者?

在这里您可以找到我尝试使用的配置示例。 https://github.com/fearlessfara/feign-test

标签: springspring-bootspring-cloudspring-cloud-gatewayservice-discovery

解决方案


推荐阅读