برنامه نویسی

مقیاس Node.js خود را با PM2: حالت خوشه در مقابل حالت چنگال

اگر در حال ساختن یک برنامه Node.js با درجه تولید هستید ، احتمالاً از PM2 شنیده اید-یک مدیر فرآیند قدرتمند که به شما کمک می کند تا برنامه خود را برای همیشه زنده نگه دارید.

اما آیا می دانید از PM2 پشتیبانی می کند چند رشته از حالت خوشه استفاده می کنید؟

در این مقاله ، شما را از طریق تفاوت بین حالت خوشه وت حالت چنگال در PM2 ، و نحوه استفاده از آنها با یک مثال واقعی با استفاده از ecosystem.config.jsبشر

pm PM2 چیست؟

PM2 یک مدیر فرآیند تولید برای برنامه های Node.js است. این کار را انجام می دهد:

  • مدیریت فرآیند
  • تعادل بار
  • راه اندازی مجدد خودکار
  • نظارت و ورود به سیستم

شما می توانید آن را در سطح جهانی با استفاده از:

sudo npm install -g pm2
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

برای اطمینان از نصب آن ، نسخه را بررسی کنید:

pm2 --version
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

🔁 حالت چنگال (تک رشته ای)

حالت چنگال حالت پیش فرض در PM2 است. این یک نمونه از برنامه شما در هر فرآیند PM2 را اجرا می کند. این برای برنامه های ساده یا اسکریپت هایی که نیازی به چند رشته یا تعادل بار ندارند ، مفید است.

پیکربندی مثال:

module.exports = {
  apps: [
    {
      name: "my_app",            // Replace with your desired app name 
      script: "npm",
      args: "run dev",
      env: {
        NODE_ENV: "production"
      }
    }
  ]
};
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

آن را با:

pm2 start ecosystem.config.js
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

mode حالت خوشه (چند رشته ای / متعادل)

اگر برنامه شما محدود به CPU است یا نیاز به انجام چندین درخواست کارآمد دارد ، حالت خوشه دوست شما است. از آن استفاده می کند cluster ماژول داخلی برای چرخش چندین نمونه (چنگال) برنامه خود – یکی برای هر هسته CPU.

این به ارمغان می آورد:

  • عملکرد بهتر
  • تعادل بار خودکار
  • استفاده از پردازنده چند هسته ای

برای حالت خوشه ، می توانید با استفاده از آن در سطح جهانی نصب کنید:

sudo npm install -g @socket.io/pm2
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

پیکربندی مثال:

module.exports = {
    apps: [
        {
            name: "my_app", 
            script: "index.js", // Your app’s entry point
            instances: "max",   // Automatically uses all CPU cores
            exec_mode: "cluster", 
            env: {
                NODE_ENV: "production"
            }
        }
    ]
};
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

آن را با:

pm2 start ecosystem.config.js
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

با استفاده از تمام هسته های CPU ، این برنامه شما را در حالت خوشه اجرا می کند.

pm2

✅ چه موقع از چه چیزی استفاده کنیم؟

|Mode           |Use When...                                                |
|---------------|-----------------------------------------------------------|
|Fork Mode      |Simpler apps, background jobs, or single-threaded logic    |
|Cluster Mode   |You want to scale across all CPU cores and handle more load|
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

🧪 مراحل نهایی: دستورات مفید PM2

  • وضعیت برنامه را بررسی کنید: pm2 status
  • مشاهده گزارش ها: pm2 logs
  • برنامه راه اندازی مجدد: pm2 restart all
  • برنامه توقف: pm2 stop my_app
  • لیست فرآیند را برای شروع خودکار در راه اندازی مجدد ذخیره کنید: pm2 save
  • به طور خودکار از راه اندازی مجدد سرور شروع کنید: pm2 startup
  • دستور را دنبال کنید pm2 startup می دهد: sudo env PATH=$PATH:/home/ubuntu/.nvm/versions/node/vXX.X.X/bin pm2 startup systemd -u ubuntu --hp /home/ubuntu)

پایان

استفاده از PM2 با حالت خوشه می تواند با استفاده از کلیه هسته های CPU موجود ، عملکرد برنامه شما را به طور قابل توجهی تقویت کند. این یک روش آسان برای مقیاس برنامه Node.js شما بدون تغییر به راه حل های پیچیده تر است.

در نظرات به من اطلاع دهید که چگونه از PM2 استفاده می کنید ، یا اگر هر دو حالت را امتحان کرده اید!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا