Google app engine 如何将GraphQL订阅单独分离到另一台服务器

Google app engine 如何将GraphQL订阅单独分离到另一台服务器,google-app-engine,graphql,graphql-js,graphql-subscriptions,Google App Engine,Graphql,Graphql Js,Graphql Subscriptions,我计划在谷歌应用程序引擎(GAE)上使用Apollo Graphql。因此,我不必担心缩放(我将使用Redis或其他pubsub)。然而,问题是GAE不支持web套接字。我大量使用GraphQL订阅 Google建议将web套接字分离到另一个VM(如Google Compute Engine)中,并将其余部分保留在GAE中: 可以在阿波罗服务器上执行此操作吗?我正在使用node js apollo server express这是扩展infra的一个好模式。没有使用阿波罗服务器快车的禁忌症 使用

我计划在谷歌应用程序引擎(GAE)上使用Apollo Graphql。因此,我不必担心缩放(我将使用Redis或其他pubsub)。然而,问题是GAE不支持web套接字。我大量使用GraphQL订阅

Google建议将web套接字分离到另一个VM(如Google Compute Engine)中,并将其余部分保留在GAE中:


可以在阿波罗服务器上执行此操作吗?我正在使用node js apollo server express

这是扩展infra的一个好模式。没有使用阿波罗服务器快车的禁忌症

使用相同的代码库,一个将使用
http
处理查询和变异,另一个将使用
websocket
处理订阅。只需将正确的网络路由到(GAE)或谷歌计算引擎

每个
http
查询都将由GAE处理。阿波罗客户端将在谷歌计算引擎上订阅
ws
query。当一个事件发布在Redis或其他设备上时,apollo graph将仅在其订户位于
ws
上时使用和解析

因此,您不需要在GAE上连接pubsub/Redis


我曾考虑为
http
ws
使用两个项目,但它不会共享graphQL模式。

这是扩展infra的一个好模式。没有使用阿波罗服务器快车的禁忌症

使用相同的代码库,一个将使用
http
处理查询和变异,另一个将使用
websocket
处理订阅。只需将正确的网络路由到(GAE)或谷歌计算引擎

每个
http
查询都将由GAE处理。阿波罗客户端将在谷歌计算引擎上订阅
ws
query。当一个事件发布在Redis或其他设备上时,apollo graph将仅在其订户位于
ws
上时使用和解析

因此,您不需要在GAE上连接pubsub/Redis

我曾考虑为
http
ws
使用两个项目,但它不会共享graphQL模式