問題タブ [node-cluster]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Windows でノード クラスタを実行するにはどうすればよいですか?
Windowsでノードクラスターを実行する方法を知っている人はいますか? Web 上で記事を見つけることができず、この問題を解決できないようです。
そしてコード...
javascript - Node.js クラスター - 最適なワーカー数
私は4つのコアを持っており、この例に従ってこのコードを実行しました:
4 つのフォーク (上記のコード) を使用すると、次のようになりました。
関数 #0: 1698.801ms
関数 #1: 3282.679ms
関数 #4: 3290.384ms
関数 #3: 3425.090ms
関数 #2: 3424.922ms
3つのフォークで、私は得ました:
関数 #0: 1695.155ms
関数 #2: 1822.867ms
関数 #3: 2444.156ms
関数 #1: 2606.680ms
2つのフォークで、私は得ました:
関数 #0: 1684.929ms
関数 #1: 1682.897ms
関数 #2: 1686.123ms
これらの結果がわかりません。1 フォーク/コアが最適な数ではありませんか? ここで、4 フォークは 2 フォークより優れていないことがわかります。
javascript - クラスターで Socket.IO ルームを処理するにはどうすればよいですか?
クラスターで動作するサーバーがあり、それを socke.IO で動作させるために、スティッキーセッションを使用していますが、部屋に問題があります (私が行った方法が最良の選択肢であるかどうかはわかりません): クラスタープロセスをインスタンス化しており、各プロセスには特定の数の部屋があります。
- サーバ
- 工程1
- ルーム1
- ルーム2
- ルームN
- 工程2
- ルーム1
- ルーム2
- ルームN
- 工程1
一部のユーザーを部屋に接続するために行った方法 (1 つのプロセスのみ) は、ユーザーがページにアクセスし、Socket.io との接続を試みたときに、URL を確認し、その情報を挿入するルートを使用することです。部屋で彼。
私の問題は、このサーバーをクラスターで実装することです。特定のプロセスにのみ存在する部屋がいくつかあり、スティッキーセッションが彼を別のプロセスに置くため、特定の部屋にユーザーを挿入できません。別のプロセスにあるルームにユーザーを入れるにはどうすればよいですか? また、彼がサーバーにいるプロセスのルートを確認するためだけに使用でき、ページ内のすべての部屋を表示したいと思います。
Redis-Adapter については既に読んだことがありますが、Socket.io + Cluster(Sticky-session + redis-adapter) + rooms を使用して github で解決策が見つかりませんでした。
私のコードに従って、私が行ったことを共有してください。