springcloud3.1.1 服务feign调用不到具体实现方法

Blade 未结 1 467
changxiaoping
changxiaoping 剑者 2023-10-27 10:31

一、该问题的重现步骤是什么?

  1. 问题 是这样我测试 服务A调用服务B 通过feign 的方式 服务都启动着呢, 但是始终没办法调用到提供服务的方法, 但是我通过postman 模拟调用提供服务的方法 则可以调用到,说明本身服务没问题,  但就是服务之间feign调用 始终调不到 而且提示 Service instance was not resolved, executing the original request 所以请教下 是什么问题导致此情况 







  2. image.png


2. image.png

3.

image.png

image.png


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  • "feign service instance was not resolved executing the original request" 这个错误通常是由于在 Feign 客户端中使用了 Ribbon 负载均衡器,但是负载均衡器无法找到可用的服务实例所导致的。


    要解决这个问题,您可以按照以下步骤操作:


    确认服务名是否正确。首先,您需要确认在 Feign 客户端中使用的服务名是否正确。服务名应该是服务注册到 Eureka 或 Consul 等注册中心的名称。可以使用注册中心的控制台或 API 来查看注册中心中服务的实际名称。


    确认服务是否可用。确保服务实例已经注册到注册中心,并且可以在注册中心的控制台或 API 中看到它们的状态。如果服务实例没有正确注册或者没有正常运行,那么 Feign 客户端就无法找到可用的服务实例,从而导致该错误。


    确认负载均衡器是否配置正确。如果您使用的是 Ribbon 负载均衡器,请确保它已正确配置。您需要提供负载均衡器所需的服务名、负载均衡算法等信息,以确保负载均衡器能够找到可用的服务实例。如果负载均衡器没有正确配置,那么就无法找到可用的服务实例,从而导致该错误。


    确认网络连接是否正常。最后,请确保网络连接是正常的。如果您的应用程序运行在容器环境中,例如 Docker,那么请确保容器之间的网络连接是正常的。如果您的应用程序运行在云环境中,例如 AWS、Azure 或 Google Cloud Platform,那么请确保网络连接是正常的,并且应用程序可以正常连接到服务实例。


    希望这些步骤可以帮助您解决问题。


    0 讨论(0)
提交回复