私はティッカーデータを生成する単一のストリームソースSを持っています。単一のソースからの複数のサーバーを使用したソケットio経由のストリーム
ソケットioを使用するノードアプリケーションにSを統合したいと思います。私のアプリは、生産中の複数のサーバー環境で実行される、のは、サーバーAとBの最初
が、私は単純に思ったとしましょう:
利用ソケットIOのRedisのアダプタ:https://github.com/socketio/socket.io-redis AとBの両方に
SとAとBの両方を接続し、単にチャンクを適切な部屋にブロードキャストするだけで、AからBのデータを取り出すことができます。
しかし、このことについて考えた後、私はおそらくAとBの両方がクライアントに同じデータをブロードキャスト(とクライアントが同じ情報の重複を受ける)の問題に実行することを実現しています。私はこれについて正しく考えていますか?どうすればこれを避けることができますか?
お役に立てば幸いです。アダプタを使用すると、接続されているすべてのクライアント(サーバB経由で接続されているイベント)を見つけて、すべてのクライアントにデータをプッシュする(つまり、私の重複の懸念のデータ)。 – pQuestions123
赤いアダプターは、私の答えの2番目の段落を修正します。しかし、Redisクライアントを使用している場合は、常にそれを介してブロードキャストする必要があります。サーバーからブロードキャストしてからアダプタで再度ブロードキャストする場合、クライアントの一部が同じデータを2回取得することは明らかです。単一のクライアントとの通信は、通常どおりに行うことができます。 –
私の問題は、すべてのサーバーがアダプターを介して同じデータをブロードキャストしている場合、クライアントは同じデータを2回受信しませんか? – pQuestions123