load-balancing - Spring Data REST 链接和 Ribbon 客户端负载均衡器

标签 load-balancing spring-data-rest spring-cloud hateoas netflix-eureka

我们使用两个微服务(苹果和香蕉)、一个注册服务器(注册表)和一个 GUI 客户端(客户端)。

微服务通过 Spring Data Rest 公开其资源,因此 HAL 资源中代表苹果列表的单个资源的链接可能如下所示:

"link_": "http://localhost:8080/apples/123", or "http://192.168.0.23/..." 

,取决于我访问列表的方式。

GUI中的restTemplate(由功能区支持)可以管理接收列表时的第一个调用,因为我手动使用地址

http://apple/apples

Ribbon 现在将查找 apple 客户端 ID 并将请求地址更改为“http://localhost:8080/apples ”。

但是现在我无法遍历检索到的链接,因为它们将不再指向客户端 ID 并且不会获得任何负载平衡。此外,如果这个特定实例死亡,链接中的 URL 将无效,即使其他实例仍在运行。

有没有办法将 Spring Data REST 放入链接中的主机更改为固定值?

最佳答案

目前还没有。在 our sample使用 Spring Data Rest,我们也有同样的问题。这个PR刚刚合并,可能会有所帮助。

关于load-balancing - Spring Data REST 链接和 Ribbon 客户端负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34792288/

相关文章:

ssl - 我网站的 AWS 负载均衡器和 ssl 证书

gradle - 如何在spring-boot项目中指定spring-data-rest版本?

docker - 当 Docker 容器发布端口时,应用程序使用 IP 而不是主机名在 Eureka 中注册

spring-cloud - Zuul 代理在应该执行故障转移时失败并显示 "RibbonCommand timed-out and no fallback available"

java - Spring Cloud 配置客户端是否也可以从本地加载属性?

apache - 负载平衡 Web 服务器 + 保持内容同步

java - 为 rabbitmq 配置 HAProxy

r - R foreach 循环中的负载平衡

java - 如何在 spring-boot data rest 的 POST json 中传递 @EmbeddedId

java - 如何配置Spring TestRestTemplate