2

チャットルームアプリは複数のサーバーで実行され、2つのサービスで構成されます
。1。接続マネージャー
チャットルームに参加する前に、クライアントは最初に接続マネージャーにチャットサービスのURLを要求します
。2。チャットサービス
典型的なsocket.ioベースのチャット実装。

各クライアントの接続ステータス(ユーザーがどの部屋に接続するか、1つの部屋に何人のユーザーがいるかなど)をRedisに保存する必要があります。これにより、接続マネージャーはデータを使用して負荷分散を行うことができます。

ソケット接続/切断イベントを使用してRedisの現在の接続ステータスを維持できますが、NodeJSサーバーに障害が発生した場合、NodeとRedisのデータが同期していることを確認するにはどうすればよいですか?これを行うための最良の方法は何ですか?

4

1 に答える 1

1

ソケット接続/切断イベントを使用してRedisの現在の接続ステータスを維持できますが、NodeJSサーバーに障害が発生した場合、NodeとRedisのデータが同期していることを確認するにはどうすればよいですか?

たとえば、特定のサーバーノードによって管理されるキーへの参照を含むセットをredisで作成できます。ノードがダウンしたり再起動したりした場合は、これらのキーを無効にすることができます。

于 2012-11-07T11:49:35.677 に答える