无服务器的graphql分为微服务

时间:2018-01-19 06:06:32

标签: amazon-web-services lambda graphql serverless

如何将在一个lambda函数中运行的无服务器graphql端点拆分为多个微型lambda函数以实现可伸缩性? 是否需要有多个graphql端点?或者只需要一个graphql端点和解析器拆分成单独的lambda函数?什么是最好的架构?

1 个答案:

答案 0 :(得分:2)

通常,您使用单个端点访问整个GraphQL API。

来自GraphQL.org

  

GraphQL API按类型和字段组织,而不是端点。从单个端点访问数据的全部功能。 [强调补充]

当然,您可以拥有多个GraphQL API,但这些API就像是单独的服务,您的客户需要哪个访问哪些数据。

您可以拥有一个GraphQL端点,然后将一些工作分配给多个Lambda函数,但它不一定需要比单个函数更具可伸缩性。请记住,这个单个函数可以多次运行,因此有一个函数可以执行两个操作,并不比两个函数可扩展一样。每个函数都执行一个函数。

例如How to write GraphQL Apps using AWS Lambda on Cloud Academy建议使用Express。

为整个API使用单个AWS Lambda函数

也许其他一些构建服务的方式可能更适合您的需求,例如:请参阅Designing a GraphQL API上的AWS AppSync Developer Guide