最终,我选择了 GraphQL 作为企业 API 网关
最近,我参与了一个从头开始构建新应用程序的项目,该项目是一个拥有许多前端用户的大型企业级业务应用程序。为了实现所需的逻辑和功能,该项目的架构设计中需要构建大约 50 个微服务,其中一些微服务需要原生地部署到云上,而另一些则需要托管在本地的 OpenShift 集群中,且 OpenShift 集群将成为与遗留数据系统的连接纽带。由于这家公司之前从未构建过这么多微服务,也从未涉足过云计算领域,所以遇到的很大挑战就是如何编排服务网格,以确保对前端的更改不会破坏应用程序,对后端服务的更改也不会破坏前端。我推荐的解决方案是:将 GraphQL 用作企业 API 网关。目前,开发新的应用程序的首选架构是微服务模式,拆分的所有小型服务一起工作,并通过 API 网关暴露出来,以便前端 SPA 应用程序可以使用它们向最终用户呈现信息。而 GraphQL 可以减少攻击面,简化应用程序的开发以及服务的实际部署。