当使用AWS AppSync和lambda数据源时,您可能会遇到N+1查询问题。
基本上,当您在类型上有单独的字段解析器并且您的查询返回这些类型的数组时,您的字段解析器lambda将被调用N次。
AWS引入了BatchInvoking lambdas来解决这个问题。您可以在此处阅读关于该问题及其解决方案的更多信息:https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-lambda-resolvers.html#advanced-use-case-batching
然而,他们的解决方案并不起作用。BatchInvoking lambdas仅限于5个事件(文档中没有说明)。 这是对N+1问题的轻微改进(它使其变为N/5+1),但我认为这还不够,因为更复杂的查询往往需要执行很长时间并且需要更多的lambda调用。
所以我的问题是,您如何解决这个问题? 有没有更好的解决方案?