我们使用两个微服务(苹果和香蕉)、一个注册服务器(注册表)和一个 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/