![](/img/trans.png)
[英]Microservices : Without Service Discovery With Spring API Gateway
[英]Can an API Gateway find URIs of microservices registered on a Service Registry dynamically?
我正在使用 Spring Boot 并且我有一个 Eureka 服务器设置,其中一些微服务已注册到服务发现。 现在我希望我注册为 Eureka 客户端的 API 网关能够动态重定向到这些微服务,而不是硬编码它们的 URI。
像这样,其中“AuthMicroservice”是已经注册的微服务的名称:
@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
return builder.routes()
.route(p -> p
.path("/auth/asdh26627s8")
//.uri("http://localhost:8080/auth")
.uri("http://AuthMicroservice")
)
.build();
}
当我尝试它告诉我有一个“java.net.UnknownHostException:2次查询后无法解析'AuthMicroservice'”。
所以我想知道这是否可能? 如果是,我将如何处理这个问题?
找到了解决方案。 我所要做的就是将 URI 中的“http”替换为“lb”以启用负载平衡。
@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
return builder.routes()
.route(p -> p
.path("/auth/asdh26627s8")
.uri("lb://AuthMicroservice/auth")
)
.build();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.