Fork me on GitHub

استفاده از تمام ظرفیت CPU با Clustering

معماری Nodejs به صورت Single-Threaded است، یعنی تک-رشته ای. اگر بخواهیم این رشته یا همان Thread) را مختصرا تعریف کنیم، میتوان گفت Thread به بخشی از یک Process گفته میشود که به منابع آن Process دسترسی دارد. ضمنا هر Process میتواند Thread های مختلفی داشته باشد. اما همانطور که گفتیم ما در Nodejs تنها یک Thread داریم که مسئول اجرای برنامه نوشته شده با Nodejs می‌باشد. این تک-رشته‌ای بودن در Nodejs محاسن بسیاری دارد که در این مقاله به آنها نمیپردازیم و به جای آن تلاش میکنیم به این سوال مهم پاسخ دهیم که: اگر CPU سرور ما چندین هسته داشته باشد، تک-رشته ای بودن Nodejs باعث میشود تنها از یک هسته ی آن استفاده شود! پس راه حل چیست؟