AWS 云中带有订阅的 Apollo GraphQL 服务器
Posted
技术标签:
【中文标题】AWS 云中带有订阅的 Apollo GraphQL 服务器【英文标题】:Apollo GraphQL server in AWS cloud with subscriptions 【发布时间】:2019-01-27 16:46:27 【问题描述】:我想使用 AWS 设置一个 apollo graphql 服务器。我尝试使用 AWS Lambda 设置 apollo-server-lambda,它工作得非常好,但是它缺少非常重要的功能:订阅,对于那些你需要一个 websocket 服务器的人。
我看到了这个问题的解决方案 https://github.com/ioxe/graphql-aws-iot-server 使用 AWS IoT 来处理订阅,但它似乎相当复杂且无人维护。
我的问题是获得订阅是一个正确的解决方案,还是我应该设置一个 EC2 实例并在那里运行 apollo 服务器?
另外,如果我为此设置了一个 EC2 实例,设置会更容易吗?应该如何扩展?
附:在您问之前,我知道 AWS AppSync 并且该服务不适合,因为它存在 N+1 问题、查询执行时间长和 android 客户端损坏的大问题。
【问题讨论】:
【参考方案1】:我目前正在使用 AWS Lambda,但是当我需要添加订阅时,我计划迁移到 Elastic Beanstalk,而不仅仅是一个简单的 EC2 实例,因为它为您做了很多扩展,而且由于 apollo server 2 它是大约一行代码从 Lambda 切换到 Beanstalk
【讨论】:
以上是关于AWS 云中带有订阅的 Apollo GraphQL 服务器的主要内容,如果未能解决你的问题,请参考以下文章
如何使用订阅和 AWS AppSync 高效同步 Apollo 的缓存
带有 Vertx 订阅的 Apollo GraphQL 失败
使用带有 Kotlin 和流的 Android 上的 Apollo 订阅 GraphQL 时处理网络错误