是否可以将完整的 Uris 映射到不同的服务?

Posted

技术标签:

【中文标题】是否可以将完整的 Uris 映射到不同的服务?【英文标题】:Is it possible to map full Uris to different services? 【发布时间】:2021-07-13 18:17:22 【问题描述】:

我想创建多个可以独立部署到 AKS 的 GraphQL 微服务,然后利用 GraphQL 联合网关来公开复合图。我想知道是否可以超越子域来分离出匹配的 URI。

https://graph.xyzcorp.com/ -- GraphQL Gateway
https://graph.xyzcorp.com/Microservice Name -- GraphQL Microservice

我真的不想使用多个子域或不同的子域名,例如https://customer.graph.xyzcorp.com/https://customergraph.xyzcorp.com/ 等。我也不想将所有微服务组合到一个项目中,因为那样会创建又是一块巨石。

【问题讨论】:

【参考方案1】:

您目前拥有的是正确的实现。 您拥有网关,并且所有微服务都映射(注册)到网关。

仅将所有微服务映射到网关不会使您的应用程序变得单一,因为网关只是您应用程序的入口点。

我建议在定义微服务合同时(可能是大摇大摆的),您可以像下面这样提及基本路径和端点路径。

basepath:: 域名/version1.0

希望对你有所帮助。

path::microserviceName/customer/id

【讨论】:

以上是关于是否可以将完整的 Uris 映射到不同的服务?的主要内容,如果未能解决你的问题,请参考以下文章

将同一张表映射到两个不同的列表

是否可以使用 AWS 转录将人员映射到转录本?

是否可以将所有阶段变量添加到嵌套 JSON 结构中的主体映射模板中?

有没有一种简单的方法可以将纹理映射到 python 中的不同“UV”系统?

是否可以使用休眠映射不同的字段类型?

端口映射vs端口转发