مشخصات مقاله
آموزش کار با ماژول Cluster Process در Node.js
آموزش کار با ماژول پردازش کلاستر (Cluster Process) در Node.js:
ماژول Cluster Process این امکان را فراهم می کند تا یک پردازش بزرگ را به پردازش های کوچکتر (Child Process) تقسیم نمایید که به صورت همزمان و با استفاده از یک سرور و پورت یکسان، اجرا می شوند.
چهارچوب کاری Node.js به صورت تک رویداد (single threaded) اجرا می شود که بسیار از لحاظ حافظه، مقرون به صرفه است اما برای استفاده بهتر از کامپیوترهایی که دارای پردازنده چند هسته ای هستند، ماژول Cluster Process این امکان را فراهم می کند تا یک پروسه واحد را به پروسه های کوچکتر (child) تقسیم نمایید که هر کدام بر روی هسته مخصوص به خود اجرا شده و سرعت کلی اجرای فرآیند را تسریع بخشد.
ساختار کلی استفاده از ماژول پردازش کلاستر (Cluster Process) به صورت زیر است :
1 2 | var cluster = require ( 'cluster' ); <button></button> |
مثال : در کد مثال عملی زیر، در ابتدا یک پروسه به نام cluster تعریف شده که پردازش اصلی (master) است. در بار اول اجرای متد، پیام master صادر می شود، اما پس از اجرای متد fork ماژول Cluster Process ، پردازش اولیه Cluster به چند پردازش کوچکتر تقسیم شده و در اجرای دوم و سوم، برنامه اعلام می کند این پردازش یک زیرپردازش یا worker است :
1 2 3 4 5 6 7 8 9 10 | var cluster = require ( 'cluster' ); if (cluster.isWorker) { console.log( 'I am a worker' ); } else { console.log( 'I am a master' ); cluster.fork(); cluster.fork(); } <button></button> |
خروجی برنامه پس از 3 بار اجرای کد به صورت زیر است :
1 2 3 4 | I am a master I am a worker I am a worker <button></button> |