๐ฆ๐ฐ๐ฎ๐น๐ถ๐ป๐ด ๐๐ถ๐๐ต ๐ฃ๐ ๐ฎ (๐ฃ๐ฟ๐ผ๐ฑ๐๐ฐ๐๐ถ๐ผ๐ป-๐ฅ๐ฒ๐ฎ๐ฑ๐ ๐๐ฝ๐ฝ๐ฟ๐ผ๐ฎ๐ฐ๐ต) โ (๐ฃ๐ฎ๐ฟ๐-๐๐โฆ
โก ๐ฆ๐ฐ๐ฎ๐น๐ถ๐ป๐ด ๐๐ถ๐๐ต ๐ฃ๐ ๐ฎ (๐ฃ๐ฟ๐ผ๐ฑ๐๐ฐ๐๐ถ๐ผ๐ป-๐ฅ๐ฒ๐ฎ๐ฑ๐ ๐๐ฝ๐ฝ๐ฟ๐ผ๐ฎ๐ฐ๐ต) โ (๐ฃ๐ฎ๐ฟ๐-๐๐ โ ๐ฃ๐ ๐ฎ)
๐ฆ๐ฐ๐ฎ๐น๐ถ๐ป๐ด ๐๐ถ๐๐ต ๐ฃ๐ ๐ฎ (๐ฃ๐ฟ๐ผ๐ฑ๐๐ฐ๐๐ถ๐ผ๐ป-๐ฅ๐ฒ๐ฎ๐ฑ๐ ๐๐ฝ๐ฝ๐ฟ๐ผ๐ฎ๐ฐ๐ต) โ (๐ฃ๐ฎ๐ฟ๐-๐๐ โ ๐ฃ๐ ๐ฎ)
โก ๐ฆ๐ฐ๐ฎ๐น๐ถ๐ป๐ด ๐๐ถ๐๐ต ๐ฃ๐ ๐ฎ (๐ฃ๐ฟ๐ผ๐ฑ๐๐ฐ๐๐ถ๐ผ๐ป-๐ฅ๐ฒ๐ฎ๐ฑ๐ ๐๐ฝ๐ฝ๐ฟ๐ผ๐ฎ๐ฐ๐ต) โ (๐ฃ๐ฎ๐ฟ๐-๐๐ โ ๐ฃ๐ ๐ฎ)
If Cluster is the engine, ๐ฃ๐ ๐ฎ ๐ถ๐ ๐๐ต๐ฒ ๐ฎ๐๐๐ผ๐ฝ๐ถ๐น๐ผ๐.
โข Runs your app in ๐ฐ๐น๐๐๐๐ฒ๐ฟ ๐บ๐ผ๐ฑ๐ฒ โข Auto-restarts crashed apps โข Built-in ๐น๐ผ๐ฎ๐ฑ ๐ฏ๐ฎ๐น๐ฎ๐ป๐ฐ๐ถ๐ป๐ด โข Monitoring, logs, metrics โข Zero-downtime reloads
โ๏ธ Install PM2 ๐ป๐ฝ๐บ ๐ถ๐ป๐๐๐ฎ๐น๐น -๐ด ๐ฝ๐บ๐ฎ
๐ Run App in Cluster Mode ๐ฝ๐บ๐ฎ ๐๐๐ฎ๐ฟ๐ ๐ฎ๐ฝ๐ฝ.๐ท๐ -๐ถ ๐บ๐ฎ๐
๐ -๐ถ ๐บ๐ฎ๐
= use all CPU cores
๐ Useful Commands
โข ๐ฝ๐บ๐ฎ ๐น๐ถ๐๐ # running apps โข ๐ฝ๐บ๐ฎ ๐น๐ผ๐ด๐ # logs โข ๐ฝ๐บ๐ฎ ๐บ๐ผ๐ป๐ถ๐ # real-time monitoring โข ๐ฝ๐บ๐ฎ ๐ฟ๐ฒ๐๐๐ฎ๐ฟ๐ ๐ฎ๐ฝ๐ฝ # restart app โข ๐ฝ๐บ๐ฎ ๐ฟ๐ฒ๐น๐ผ๐ฎ๐ฑ ๐ฎ๐ฝ๐ฝ # zero downtime reload โข ๐ฝ๐บ๐ฎ ๐๐๐ผ๐ฝ ๐ฎ๐ฝ๐ฝ # stop app
๐ Ecosystem Config (Production Setup)
module.exports = {
apps: [
{
name: โnode-appโ,
script: โ./app.jsโ,
instances: โmaxโ,
exec_mode: โclusterโ,
env: {
NODE_ENV: โproductionโ
}
}
]
};
Run with: ๐ฝ๐บ๐ฎ ๐๐๐ฎ๐ฟ๐ ๐ฒ๐ฐ๐ผ๐๐๐๐๐ฒ๐บ.๐ฐ๐ผ๐ป๐ณ๐ถ๐ด.๐ท๐
โ Pros โข Easy to use โข Production-grade stability โข Auto-restart + monitoring โข Zero downtime deployments
โ Cons โข Less low-level control โข Adds dependency layer
โ๏ธ Cluster vs PM2 (Quick Comparison) | ๐๐ฒ๐ฎ๐๐๐ฟ๐ฒ | ๐๐น๐๐๐๐ฒ๐ฟ ๐ ๐ผ๐ฑ๐๐น๐ฒ | ๐ฃ๐ ๐ฎ | โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ - | Setup | Manual | Easy |
| Monitoring | โ | โ |
| Auto Restart | โ | โ |
| Load Balancing | Basic | Advanced |
| Production Ready | โ ๏ธ | โ |
| Zero Downtime | โ | โ | โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ โ -
๐งฉ ๐ช๐ต๐ฒ๐ป ๐๐ผ ๐จ๐๐ฒ ๐ช๐ต๐ฎ๐?
๐ Use ๐๐น๐๐๐๐ฒ๐ฟ when โข You want fine-grained control โข Building custom orchestration logic โข Learning internals
๐ Use ๐ฃ๐ ๐ฎ when: โข You want quick production deployment โข Need monitoring & reliability โข Running real-world apps
๐ง Pro-Level Insights โข Cluster uses R๐ผ๐๐ป๐ฑ-R๐ผ๐ฏ๐ถ๐ป L๐ผ๐ฎ๐ฑ B๐ฎ๐น๐ฎ๐ป๐ฐ๐ถ๐ป๐ด (since Node v16+) โข PM2 internally uses Cluster for scaling โข For massive scale โ combine with: โข Nginx (reverse proxy) โข Docker + Kubernetes โข Load balancers (AWS ALB)
#NodeJS #Backend #Scalability #DevOps #JavaScript #PM2 #SystemDesign
๐ What PM2 Does
LinkedIn โ https://www.linkedin.com/in/sarangsutar Post URL โ https://www.linkedin.com/posts/sarangsutar_nodejs-backend-scalability-ugcPost-7460953956727361536-AjU3?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAM3adIBdnb5nKVkKEE8YiOIWUMc4fa6nLY
console.log(โHappy Codingโ);
๋ฉํ๋ฐ์ดํฐ
- post_id
- 0f64e71b977e
- slug
- -0f64e71b977e
- url
- https://medium.com/@sarangsutar/-0f64e71b977e
- canonical_url
- https://medium.com/@sarangsutar/-0f64e71b977e
- author_url
- https://medium.com/@sarangsutar
- status
- ok
- fetched_at
- 2026-06-13 00:08:42