シングルコアで正常に動作するnodejsアプリケーションを作成しました。このアプリケーションは、軽量で高速な通信にsocket.ioを使用します。
cluster
ここで、 nodejsのモジュールを使用してマルチコアシステムで実行できるようにすることで、アプリケーションを垂直方向にスケーリングしたいと思いました。
私のアプリケーションのすべてがRedisにデータを保存するため、いくつかの基本的なデータとセッションを処理するのに問題はありません。
ただし、クラスターを使用して複数のワーカープロセスを生成すると、各ワーカーに独自のソケット処理があるように見えます。
たとえば、「ゲスト」ルームと呼ばれるチャットルームがあるとします。
ユーザーAとユーザーBは部屋に接続し、それらは異なるワーカープロセスに配布されます。
これらは異なるプロセスにあり、これらのプロセスはソケットリスナーを共有しないため、ユーザーAとユーザーBが相互に通信する方法はありません。
この問題を解決するための良いアプローチは何ですか?socket.ioはマルチコアシステムをサポートしていますか?
socket.ioはシングルコア専用ですか?