Panduan Lengkap PM2 Cluster Mode untuk Node.js & Nuxt.js
PM2 adalah salah satu process manager paling populer untuk aplikasi Node.js. Salah satu fitur andalannya adalah cluster mode yang memungkinkan aplikasi berjalan di banyak core CPU secara paralel. Hal ini penting untuk meningkatkan performa, stabilitas, dan kemampuan menangani trafik yang tinggi.
Apa Itu PM2 Cluster Mode?
Secara default, aplikasi Node.js hanya berjalan pada satu thread. Dengan cluster mode, PM2 akan membuat banyak instance aplikasi sesuai jumlah core CPU server, lalu melakukan load balancing secara internal. Artinya, aplikasi bisa memanfaatkan seluruh core CPU, bukan hanya satu.
Keunggulan PM2 Cluster Mode
Multi-core utilization: memanfaatkan semua core CPU.
Load balancing otomatis: distribusi request lebih merata.
Zero downtime reload: update aplikasi tanpa downtime dengan
pm2 reload
.Monitoring bawaan: pantau resource dengan
pm2 monit
.Konfigurasi mudah: cukup 1 file
ecosystem.config.js
untuk banyak aplikasi.
Cara Menjalankan PM2 Cluster Mode
1. Instalasi PM2
npm install -g pm2
2. Jalankan aplikasi dalam cluster
pm2 start .output/server/index.mjs -i max --name nuxt-app
Opsi -i max
berarti PM2 akan menjalankan aplikasi sebanyak jumlah core CPU.
Jika ingin menentukan jumlah manual, misalnya 4 instance:
pm2 start .output/server/index.mjs -i 4 --name nuxt-app
3. Gunakan Ecosystem Config
Buat file ecosystem.config.js
di root project untuk konfigurasi lebih rapi:
module
4. Jalankan dengan Ecosystem Config
pm2
5. Simpan dan aktifkan startup otomatis
pm2 save
pm2 startup systemd
Perbandingan PM2 Cluster vs Systemd
Fitur | Systemd | PM2 Cluster |
---|---|---|
Multi-core support | Harus manual | Otomatis |
Monitoring | Terbatas (journalctl) | Bawaan PM2 (pm2 monit, dashboard) |
Zero downtime reload | Tidak ada | Ada (pm2 reload ) |
Startup otomatis | Ada | Ada |
Resource usage | Lebih ringan | Sedikit lebih berat |
FAQ seputar PM2 Cluster Mode
Apakah PM2 cluster cocok untuk semua aplikasi?
Cocok untuk aplikasi yang stateless (tidak menyimpan data di memory lokal per instance). Jika aplikasi menggunakan session di memory, sebaiknya gunakan Redis atau database sebagai session store.
Apa bedanya -i max
dengan angka tertentu?
-i max
akan membuat instance sesuai jumlah core CPU.
Sedangkan jika menggunakan angka (misalnya -i 4
), maka hanya akan menjalankan 4 instance meskipun CPU punya lebih banyak core.
Apakah cluster mode bisa digabung dengan Nginx?
Ya. Biasanya cluster mode dipakai di backend, lalu Nginx digunakan sebagai reverse proxy dan SSL terminator di depan.
Apa kelebihan PM2 dibanding systemd?
PM2 lebih mudah untuk scaling, monitoring, dan zero downtime reload. Sedangkan systemd lebih ringan dan lebih stabil untuk aplikasi kecil.
Apakah PM2 bisa jalan di Docker?
Bisa, tapi jika sudah pakai Docker/Kubernetes biasanya tidak perlu PM2 karena orchestrator sudah mengatur scaling dan restart.
Kesimpulan
PM2 cluster mode adalah pilihan tepat untuk aplikasi Node.js atau Nuxt.js di server dengan banyak core CPU dan trafik tinggi. Dengan load balancing otomatis, zero downtime reload, dan monitoring bawaan, PM2 memudahkan manajemen aplikasi di production. Buat teman-teman antmediahost yang memiliki aplikasi nodejs dan ingin running di VPS Indonesia Murah atau Cloud Server Indonesia kami, cocok banget ne pakai tools yang satu ini, selamat mencoba ya..