Apollo 服务器 + Lambda + 订阅

Apollo Server + Lambda + Subscriptions

是否可以 运行 一个带有订阅的 Apollo GraphQL Lambda 后端?据我了解,GraphQL 订阅使用 websockets,所以我想除非您使用 Redis 作为消息代理,否则这是不可能的,但我想验证这一点,因为 Apollo Docs 的任何部分都没有说明。

Lambda、Google 云函数、Azure 函数或大多数其他无服务器供应商不支持 GraphQL 订阅。这是因为实例在流量较低时关闭,这会终止 websocket 连接。有一些实验设置已经让它起作用,但我自己还没有尝试过。

您可以找到有关此 here 的更多信息。

希望对您有所帮助!

是的。

AWS lambdas 现在通过 API Gateway. The serverless framework also now supports websockets 支持 websocket,无需插件,实现起来非常容易。

有人开发了此解决方案,您可以在此处找到它 aws-lambda-graphql

2021 年快速更新 - 这是可行的,但仍处于早期阶段,API Gateway 有一些限制。

我已经建立了一个项目,它提供了一个 API 几乎与 Apollo 服务器相同的项目,并提供了解释如何设置它的文档。如果你有兴趣,它叫做subscriptionless