GCP负载均衡器中基于路径的配置

时间:2018-10-23 07:33:06

标签: google-cloud-platform load-balancing microservices

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

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。并且我不想将所有路由都添加到负载均衡器路径设置中,因为这将很难维护。期待听到一些解决方案。预先感谢。

2 个答案:

答案 0 :(得分:2)

我了解您希望将对/ user-manager / SUB / PATH的入站请求转发到用户服务,然后重新写入/ SUB / PATH。听起来您的转发工作正常了,但重写却没有。

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

答案 1 :(得分:1)

Google现在提供URL rewriting,可以实现这一目标。