私はsocket.ioから始めようとしていますが、これはより理論的な質問です.socket.ioで特定のユーザーにメッセージを送信したいとしましょう.送信時に、socketid を取得して送信します。
しかし、複数のサーバー プロセスを実行している場合はどうなるでしょうか。クライアントが実際に接続されている正しいサーバーが送信を行うことを確認する必要があります。出来ますか ?
問題は通常、WebSocket クラスターで遊ぶ方法に関するものです。
バックエンドがクライアントに通知するたびに、クライアントとの通信を担当する WebSocket クラスターに要求を送信します。考えられるシナリオ:
ノート:
複数のサーバー インスタンスの場合、認証用のキャッシング サービス (memcache、redis) と、すべてのノード インスタンスがバインドされる中央メッセージ キュー サービス (stormMQ、rabbitMQ、AQ、Java ベースの mq) が必要です。したがって、Node インスタンスは各クライアント/チャネル/その他のメッセージ キューにバインドし、バインドされた他のすべての Node インスタンスはメッセージを受信してクライアントに転送します。