Node.js 如何在具有共享数据库的Graphql微服务之间获取数据?

Node.js 如何在具有共享数据库的Graphql微服务之间获取数据?,node.js,mongodb,mongoose,graphql,microservices,Node.js,Mongodb,Mongoose,Graphql,Microservices,在为我们的应用程序开发GraphQLAPI的过程中,我们决定采用微服务架构,并决定我们应该有另一个支付API(也是GraphQLAPI),这样我们就可以开始分离我们的应用程序了。我们在Mongoose数据库中使用MongoDB。我们目前面临的问题是,为了处理支付,我们需要获取用户数据,但我们的支付API没有Mongoose模型,我们可以通过它查询用户数据。我们想知道解决这个问题的最佳方法是什么。我们是否从第一个API复制需要查询的模型?我们在这里做错了什么?在微服务体系结构中使用共享数据库是一种

在为我们的应用程序开发GraphQLAPI的过程中,我们决定采用微服务架构,并决定我们应该有另一个支付API(也是GraphQLAPI),这样我们就可以开始分离我们的应用程序了。我们在Mongoose数据库中使用MongoDB。我们目前面临的问题是,为了处理支付,我们需要获取用户数据,但我们的支付API没有Mongoose模型,我们可以通过它查询用户数据。我们想知道解决这个问题的最佳方法是什么。我们是否从第一个API复制需要查询的模型?我们在这里做错了什么?在微服务体系结构中使用共享数据库是一种完全错误的方法吗?

GraphQL的整个思想是使用一个端点。这降低了“前端”开发人员(API使用者)的复杂性

因此,您将拥有一个管理数据库访问的GraphQL端点服务

通常“微服务”都有自己的数据库

您仍然可以将业务逻辑放在微服务中,但是您可以让这些服务联系您的GraphQL服务来访问数据库

但是,如果您使用GraphQLAPI引导系统,那么您将创建一个端点

要像您所描述的那样拥有这些离散的微服务,您通常需要为消费者提供REST或gRPC