PM2 อนุญาตให้เรียกใช้แอป NodeJS ในหลายอินสแตนซ์ เช่น คอร์ที่แตกต่างกัน อนุญาตให้โหลดบาลานซ์โดยใช้พอร์ตเดียวกัน
PORT=3000 pm2 start -i NUMBER_OF_CORES(เช่น 2) app.js
แต่ฉันสามารถทำโหลดบาลานซ์ใน Nginx ด้วยพอร์ตต่างๆ
ต้นน้ำ app_servers {
เซิร์ฟเวอร์ 127.0.0.1:3000;
เซิร์ฟเวอร์ 127.0.0.1:3001;
เซิร์ฟเวอร์ 127.0.0.1:3002;
เซิร์ฟเวอร์ 127.0.0.1:3002;
}
เซิร์ฟเวอร์ {
ฟัง 80;
server_name your-domain.com www.your-domain.com;
ที่ตั้ง / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header โฮสต์ $http_host;
proxy_pass http://app_servers;
}
}
แล้ว
pm2 เริ่ม app.js -f --3000
pm2 เริ่ม app.js -f --3001
pm2 เริ่ม app.js -f --3002
pm2 เริ่ม app.js -f --3003
ความคิดใดที่ดีที่สุด (ฉันถือว่า localhost ให้บริการทั้งหมดเสมอ)
- เพียงแค่โหลดบาลานซ์พอร์ตเดียวกันบนอินสแตนซ์ (คอร์) ที่ต่างกัน
- เพียงโหลดบาลานซ์บนพอร์ตต่างๆ และให้ OS จัดการอินสแตนซ์ หรือ
- โหลดบาลานซ์โดยมีอินสแตนซ์ต่างกัน แต่ละพอร์ตมีพอร์ตต่างกัน จึงใช้โหลดบาลานเซอร์ทั้ง Nginx และ PM2