Apollo 服务器 + Lambda + 订阅
Posted
技术标签:
【中文标题】Apollo 服务器 + Lambda + 订阅【英文标题】:Apollo Server + Lambda + Subscriptions 【发布时间】:2019-05-13 00:54:54 【问题描述】:是否可以通过订阅运行 Apollo GraphQL Lambda 后端?据我了解,GraphQL 订阅使用 websockets,所以我认为除非您使用 Redis 作为消息代理,否则这是不可能的,但我想验证这一点,因为 Apollo Docs 的任何部分都没有说明。
【问题讨论】:
【参考方案1】:2021 年快速更新 - 可行,但仍处于早期阶段,API 网关有一些限制。
我已经整理了一个项目,它提供了一个几乎与 Apollo 服务器相同的 API,并附有解释如何设置它的文档。如果你有兴趣,就叫subscriptionless
【讨论】:
【参考方案2】:有人开发了这个解决方案,你可以在这里找到它aws-lambda-graphql
【讨论】:
【参考方案3】:是的。
AWS lambdas 现在通过 API Gateway 支持 websocket。 serverless framework also now supports websockets 没有插件,非常容易实现。
【讨论】:
【参考方案4】:Lambda、Google Cloud 函数、Azure 函数或大多数其他无服务器供应商不支持 GraphQL 订阅。这是因为实例在流量较低时关闭,这会终止 websocket 连接。有一些实验性设置可以让它工作,但我自己没有尝试过。
您可以找到有关此here 的更多信息。
我希望这会有所帮助!
【讨论】:
以上是关于Apollo 服务器 + Lambda + 订阅的主要内容,如果未能解决你的问题,请参考以下文章
AWS 云中带有订阅的 Apollo GraphQL 服务器
Apollo Server Lambda - 关于无服务器的任何实际示例
无服务器框架+ AWS + Lambda + DynamoDB + GraphQL + Apollo Server =无法使POST请求工作