是否可以将完整的 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 映射到不同的服务?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以将所有阶段变量添加到嵌套 JSON 结构中的主体映射模板中?