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