0

node.js と、socket.io、cluster - モジュール/プラグインを使用してチャットルーレット アプリを作成したいと思います。

したがって、いくつかのサブクラスターを作成するマスタークラスターがあります。これで、各サブクラスターは同じポートに socket.io 接続を持ちます。しかし、どのサブクラスターで、すべてのソケット (ユーザー) をペアに結合する必要がありますか? 一部のソケットは 1 つのクラスターにあり、一部のソケットは別のクラスターにあります。

このクラスターハブですべての socket.io 接続を同期できます: http://toolbox.no.de/packages/socket.io-clusterhub

各クラスターにはすべてのソケットがありますが、どのサブクラスターがソケットをペアに結合する必要がありますか? 通常、サブクラスターに対していくつかのことを行う必要があり、すべてのサブクラスターからすべてのソケットにアクセスする必要があります。

4

1 に答える 1

1

異なる socket.io インスタンスをメッセージ キューまたは Socket.IO ストアに接続して、それらが互いに通信し、メッセージを異なるインスタンスに渡すようにする必要があります。

Socket.IO には、接続を格納するために使用されるストアの概念が既にあります。これは、複数のサーバーとプロセスを展開するための socket.io の答えです。Socket.IO には、プロセス内のすべての接続情報を保持するメモリ ストアと、接続されているすべてのプロセス間ですべての情報を同期する RedisStore の 2 つのストアが付属しています。

実装方法の詳細については、https ://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO (ストアに関するセクション) を参照してください。

于 2012-09-17T09:52:01.930 に答える