0

Google App Engine(GAE)でApollo-Graphqlを使用する予定です。だから私はスケーリングについて心配する必要はありません(私はRedisまたは他のいくつかのpubsubを使用しています)。しかし、GAEはWebソケットをサポートしていないという問題があります。 GraphQLサブスクリプションを大量に使用しています。 (GoogleのCompute Engineのような)別のVMへのWebソケットを分離し、GAE内の残りの部分を維持するためには何Googleが推奨していますGraphQLサブスクリプションのみを別のサーバに分割する方法

https://cloud.google.com/solutions/real-time-gaming-with-node-js-websocket

はアポロサーバー上でこれを実行することが可能ですか?私はノードjsを使用しています。apollo-server-express

答えて

1

あなたのインフラストラクチャを拡張するには良いパターンです。 apollo-server-express/Apollo-Graphqlを使用することは禁止されていません。

同じコードベースを使用すると、一方はhttpでクエリと突然変異を処理し、もう一方はwebsocketでサブスクライブを処理します。正しいネットワークを(GAE)またはGoogle Compute Engineにルーティングするだけです。

すべてhttpクエリはGAEによって処理されます。また、Google Compute Engineでapollo-clientはwsというクエリを購読します。 1つのイベントがRedisなどで公開されると、apollo-graphはサブスクライバがwsの場合にのみ消費して解決します。

したがって、GAEにpubsub/Redisを接続する必要はありません。

httpwsの2つのプロジェクトを使用することを検討していましたが、graphQLスキーマは共有されません。

関連する問題