如何解决错误:负载均衡器在使用 Spring Cloud 负载均衡器时不包含该服务的实例
我正在尝试从 Ribbon 迁移到客户端负载均衡器并具有以下配置:
id 'org.springframework.boot' version '2.4.6'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
'springCloudVersion',"2020.0.2"
application.properties (library-service)
user-service.ribbon.listOfServers=http://localhost:9091
UserServiceProxy.java
@FeignClient(name="user-service")
@LoadBalancerClient(name="user-service")
interface UserServiceProxy{}
ApplicationClass.java
@EnableFeignClients(basePackages = "com.library.service")
public class LibraryServiceApplication {}
我不明白为什么在尝试使用代理访问用户服务时出现以下错误。 有人可以帮我吗?
There was an unexpected error (type=Internal Server Error,status=500). [503] during [GET] to [http://user-service/users/10] [UserServiceProxy#getUserById(Long)]: [Load balancer does not contain an instance for the service user-service]
Ask1) 我们不能在没有 Eureka 服务器的情况下使用 Client LoadBalancer 吗?正如我们在早期版本中使用 Ribbon 和 feign 一样。
感谢任何帮助!!
解决方法
是的,您可以将 Spring Cloud LoadBalancer 与 Eureka 一起使用,但不能将它与 Ribbon 特定的属性一起使用。您可以看到 in the docs,在这种情况下可以使用 ribbon.listOfServers
代替 SimpleDiscoveryClient
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。