背景:最近使用SpringCloud项目,服务之间使用feign调用,有A、B两个服务,B服务部署了多台,调用关系是A调用B,偶发性出现com.netflix.client.ClientException: Load balancer does not have available server for client:错误。
解决方案:
从网上查到的资料大多数是说A和B服务配置的注册中心地址不对,导致A找不到可用的B服务,所以调不通。但是我的情况是偶发性出现这个错,而且也检查了两个服务的配置,都是同一个注册中心,最后检查发现部署的多台B服务中有一台服务的tomcat的 server.xml的端口和服务配置的端口不一致,导致服务启动不正常,也就导致调用出现错误。
因此如果出现同样的错误,建议检查下调用的服务是否正常启动。