google-cloud-platform - GCP 负载均衡器中基于路径的配置

标签 google-cloud-platform load-balancing microservices

我正在从事某种原型(prototype)项目。我有两个 微服务 托管在具有不同技术堆栈的单独服务器上。这是它的一些端点

1 User management
    -- /users
    -- /user/:id
    -- /user/roles
2 Other operations (e.g. managing a book, book details)
    -- /books
    -- /book/:id
    -- /book/:id/history

我使用 GCP 托管我的应用。我有一个负载均衡器指向上述后端服务。我正在尝试使用主机和路径规则 来使用这两种服务,它看起来像下面的屏幕截图。 enter image description here

我想访问我的用户管理微服务

dns/user-manager/users
dns/user-manager/user/:id
dns/user-manager/user/roles

和其他微服务一样

dns/book-manager/books
dns/book-manager/book/:id
dns/book-manager/book/:id/history

但看起来,它只是将 url 上面的内容直接转发到特定服务,所以我得到了 404。而且我不想将我的所有路由添加到负载均衡器路径设置中,因为这将很难维护。期待听到一些解决方案。提前致谢。

最佳答案

我了解您希望将对/user-manager/SUB/PATH 的入站请求转发给用户服务并重新写入/SUB/PATH。听起来您的转发工作正常,但重写工作无效。

Google HTTP/S LB 无法为您重写。您必须在 GCLB 和您的微服务之间添加一个反向代理来重写 URL。例如nginx can do this .

关于google-cloud-platform - GCP 负载均衡器中基于路径的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52943491/

相关文章:

amazon-web-services - 为什么 AWS ELB(弹性负载均衡器)有时会立即返回 504(网关超时)?

web-services - 在隔离的微服务之间共享数据

Node.js IPv6 问题

docker - 在Kubernetes中调度和扩展Pod

python - 传出负载均衡器

linux - 通过 JIRA 中的 groovy 关闭工单

java - Cumulocity微服务部署: access is denied

java - 将 JPA 嵌入式实体类 id 映射到可嵌入实体类 id

node.js - 通过 Firebase 在 Google Cloud 中签名错误

scala - GKE 上 docker 中的 scala 应用程序未终止系统