我有一个带有以下 bean 的 Spring 应用程序:
@Bean
@LoadBalanced
public WebClient.Builder webClientBuilder() {
return WebClient.builder();
}
应用程序配置为向 Spring Boot Admin 注册:
spring:
boot:
admin:
client:
url: http://localhost:9090
username: admin
password: pass
但是应用程序无法向 Spring Boot Admin 注册。为什么?
因为 @LoadBalanced
注释显然说使用 Ribbon 而 Ribbon 认为 localhost
是一个服务名称。它尝试使用 Eureka 进行查找,然后发出警告:
c.l.r.LoadBalancerExchangeFilterFunction : 负载均衡器不 包含服务 localhost 的实例
如何告诉 Ribbon localhost
是主机名而不是服务?我不想将 Spring Boot Admin 注册为服务。