問題タブ [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 - マルチコア マシン上の Node.js
Node.jsは面白そうに見えますが、何かが欠けているに違いありません。Node.jsは単一のプロセスとスレッドで実行するためだけに調整されていませんか?
では、マルチコア CPU とマルチ CPU サーバーに対してどのようにスケーリングするのでしょうか? 結局のところ、できるだけ高速なシングル スレッド サーバーを作成することはすべて素晴らしいことですが、負荷が高い場合は複数の CPU を使用する必要があります。同じことがアプリケーションの高速化にも当てはまります。今日では、複数の CPU を使用してタスクを並列化する方法が採用されているようです。
Node.js はこの図にどのように適合しますか? どういうわけか複数のインスタンスを配布するという考えはありますか?
node.js - ノード クラスタ (nodejs) に関する問題
このコード (ノード クラスターのサンプル) を実行しましたが、エラーなく正常に動作しましたが、http サーバーからの応答はありませんでした。ログによると、ワーカーが作成され、それらが実行されています
javascript - トラフィックの多い本番環境で Node JS をクラスタリングする
特定の URL にリダイレクトする http 要求を処理する Web サービスがあります。CPU は 1 日あたり約 500 万ヒットで叩かれていますが、2,000 万以上を処理するにはスケールアップする必要があります。これは実稼働環境であるため、新しいノード クラスタ メソッドについては少し心配です。b/c まだ実験的なものとしてリストされています。Linux サーバーでトラフィックを処理するためにノードをクラスター化する方法について提案が必要です。何かご意見は?
node.js - socket.io と expressjs を使用したノード クラスター
ここに私のサーバーコードがあります:
私はsocket.ioとexpressjsでクラスターを使用しようとしています。クアッドコアデスクトップでこれをテストしています。
本当に間違っていると目立つものはありますか?
ログは、すべてが 4 回発生することを示しています。どちらが正しいようです。しかし、socket.io のチャネル ユーザーは、ページに接続するたびに 4 回接続することも示しています (4 つのユーザー ソケットを作成します)。それは間違っているようです。どうすれば修正できますか?また、コードに他に問題がありますか? ありがとう。
node.js - Express Webサイトでノードのクラスターモジュールを使用するにはどうすればよいですか?
Node.js 0.8で導入されたクラスターモジュールについて少し読んだことがありますが、Expressで実行されているWebサイトに適用する方法(または適用する必要があるかどうか)がよくわかりません。私はかなりバニラエクスプレスのセットアップを持っています:Hogan.jsによってレンダリングされたテンプレート、StylusによってコンパイルされたCSS、WebSocketや派手なミドルウェアはありません。
クラスターモジュールを使用することで、パフォーマンスが大幅に向上しますか?
もしそうなら、標準のExpressプロジェクトでクラスターを使用するにはどうすればよいですか?
javascript - ノードクラスター内のすべてのノードプロセスを共有する変数を保持する方法は?
すべてのノード ワーカー プロセスが、同じアプリケーションの新しいコピーを実行しているかのように動作しているようです。ただし、ノード クラスター内のすべてのノード ワーカー (子プロセス) によって共有されるいくつかの変数を保持したいと考えています。これを行う簡単な方法はありますか?
node.js - Cluster は Node のシングル スレッドの概念にどのように対応していますか?
Cluster のようなものを使用して複数のワーカーをフォークまたは開始する場合:
ノードプロセスの複数のスレッドまたはインスタンスが作成されていますか? これはノードのシングル スレッドの概念を破りますか?
リクエストはワーカー間でどのように処理されますか? Cluster は、すべてのリクエストを複数の worker に負荷分散するインテリジェントなメカニズムを提供しますか?
node.js - 他のモジュールでノード マスター クラスタを区別する
ノードクラスターを介して実行したいノードプロジェクトに取り組んでいます。各ノードクラスター (ワーカー) で使用できる共有リソースと構成があるため、起動時にこれらの構成を読み取り、redis db に保存します。さらに、他のいくつかのモジュールでは、いくつかの外部リソースにクエリを実行し、いくつかのデータを取得して、redis db にも保存する必要があります (起動時ではなく、必要な場合)。この再シーズンでは、起動時に構成セクションを関数に入れ、クラスターが Master(cluster.isMaster) の場合はそれを呼び出します。
私の質問は、他のモジュールで同じことを行うにはどうすればよいですか? 他のモジュールでは、外部リソースにクエリを実行し、マスター クラスターだけで redis に配置する必要があります。これは、その後ワーカー クラスターでも使用できるようになるためです。したがって、すべてのクラスターでクエリを実行する必要はありません。
それでは、よろしくお願いします。
node.js - ノード クラスタ、Socket.io を使用すると Redis が複数回サブスクライブする
私は socket.io を使用してリアルタイムの投稿に取り組んでいます。
ストリームはリアルタイムで更新されますが、問題は redis サブスクリプションが複数回発生し、投稿がストリームに複数回表示されることです。
node.jscluster module
を使用して複数のノード クラスターを作成しています。ここにコードがあります、
worker.js
publisher.js
クライアントは postID を 1 回だけ発行しますが、サーバーの userstreams チャネルで複数のサブスクリプションを取得しています。
サーバーが redis サブスクリプションを一度だけ取得して、ユーザーのストリームにソケットで一度だけ送信できるようにします。