Nuxt.js ×Node.js (Express) で クラスタ化したかった話し
Express を serverMiddleware として導入していた Nuxt.js のプロジェクトで、Node.js のclusterモジュールを導入できるのか調査した。 node が1プロセスしか動かないので、CPU が複数個あっても1プロセスしか動かない。N個でプロセスを動かして欲しいならclustor化が必要。
結論を言うと、clusterモジュールを導入するには serverMiddleware のままじゃダメで、Node.jsのクラスタモジュールを導入するには、Node.jsサーバーのミドルウェアとしてNuxt.jsを使うという構図にする必要があった。
実装は、eggplanetio / nuxt-clusterが参考になる。
ポイントとしては、app.use(nuxt.render)
とする事で Nuxt.js を Express のミドルウェアとして利用することができる。
参考サイト
- フロントエンドエンジニア (実稼働まで) ひとりでできるもん
- 【Node.js+Express】Clusterモジュールでマルチスレッド化 - Qiita
- Node.js の Cluster モジュールを使って Express サーバを並列化する - Corredor
- node.js:clusterモジュールを使ってMySQLに接続する雛形
- Node.js clusterモジュールについて - kakts-log
- Node.js 日本ユーザグループ Blog: Cluster
- Node.js徹底攻略 ─ ヤフーのノウハウに学ぶ、パフォーマンス劣化やコールバック地獄との戦い方 - エンジニアHub|若手Webエンジニアのキャリアを考える!
-
[Node.jsのClusterをセットアップして、処理を並列化・高速化する POSTD](https://postd.cc/setting-up-a-node-js-cluster/) -
[はじめてのNode.js:マルチプロセスアプリケーションを作成する OSDN Magazine](https://mag.osdn.jp/13/04/23/090000) - ExpressのミドルでNuxt.jsを利用
- Node.js v13.7.0 Documentation
- API: Nuxt.js をプログラムで使う - NuxtJS
- API: nuxt.render(req, res) - NuxtJS
- eggplanetio / nuxt-cluster