如何为微服务创建Graphql服务器?

2024-04-29 15:09:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我们在Golang和Python上有几个微服务,在Golang上我们正在编写财务操作和Python在线商店逻辑,我们想为我们的前端创建一个API,但我们不知道如何去做。 我读过API网关,如果Golang创建自己的GraphQL服务器,Python将创建另一个,它们都将与第三个GraphQL服务器通信,后者将为外部前端生成API,这是否正确。在


Tags: 服务器api网关逻辑graphql商店财务golang
1条回答
网友
1楼 · 发布于 2024-04-29 15:09:02

关于您的服务,我不知道太多细节,但我在不同项目中成功地使用的伟大模式是您提到的GraphQL gateway。在

您将创建一个服务,我更喜欢在中创建它节点.js所有来自前端的请求都将通过。然后您将从GraphQL gateway请求您的微服务。这基本上是你进入后端系统的唯一入口点。请求将经过身份验证,您可以统一对数据的访问,还可以执行一些性能优化,如实现数据加载器的缓存和批处理来缓解N+1问题。此外,您还将减少拥有多个api的复杂性,并利用GraphQL的所有优点。 在我上一个项目中,我们有7个不同的前端,每个前端都使用相同的GraphQL gateway,我对我们的方法非常满意。当然有一些缺点,因为您需要保持所有前端和GraphQL gateway同步,因此您需要更清楚地了解您的重大更改,但是可以通过使用例如deprecated指令和使用Kubernetes集群执行blue/green部署来解决。在

另一个选择是在GraphQL中为前端创建所谓的后端。现在我没有足够的信息,哪种解决方案最适合你。您需要根据您的前端需求和业务领域来决定,但通常我更喜欢GraphQL网关,因为GraphQL具有很强的灵活性,而且GraphQL功能也涵盖了对前端API的taylor需求。希望对大卫有帮助

相关问题 更多 >