0

現在、ユーザーがランダムにペアになり、互いにメッセージを送信する単語ゲームがあります。Node.js と Socket.io を使用しています。基本的に、ユーザーのオブジェクトのキーとして socket.id を保存しています。プロパティの 1 つは、パートナーの socket.id です。したがって、誰かがメッセージを送信すると、そのユーザーを見つけてパートナーの socket.id を取得するロジックがあり、メッセージをその特定の socket.id に送信します。

ただし、NGINX またはその他のロードバランサーの背後に Node の複数のインスタンスがある場合、これは機能しません。Redis などのツールの使用を検討しましたが、見つかったすべての例で、インスタンス間で同じメッセージをユーザーに送信することが含まれていました。複数のインスタンスにわたって何千人もの人々に同じメッセージを送信しているわけではありません。私は 2 人の間でのみメッセージを送信していますが、これらの小さなチャットルームが多数存在する必要があります。Node の異なるインスタンスにいるために 2 人のユーザーをペアリングできない場合はどうなりますか? それでも、ノードのすべてのインスタンスにすべてのメッセージを送信し、パートナーが接続されているインスタンスを除くすべてのインスタンスで何もしないでください。

この種の問題への取り組みに関する情報は大歓迎です。

4

1 に答える 1