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

问题描述

我想创建多个可以独立部署到 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/ 等。我也不想将所有微服务合并到一个项目中因为那会再次创建一个整体。

解决方法

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

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

我建议在定义微服务的契约时(可能是swagger),你可以像下面这样提到基本路径和端点路径。

basepath::domainName/version1.0

希望可以帮到你。

path::microserviceName/customer/{id}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...