Node js چیست؟

چکیده :

Node js چیست؟



 در واقع یک مفسر جاوا اسکریپت تحت سرور است که مفهوم نحوه کار کردن یک سرور تغییر میدهد. در واقع هدف قادر ساختن برنامه نویس برای ساخت اپلیکیشن های بسیار مقیاس پذیر و نوشتن کدهایی با ده ها هزار اتصالات هم زمان در فقط یک ماشین مجازی است.

یکی از اهداف Node “ارائه دادن راهی آسان برای ساخت برنامه های مقیاس پذیر” است. اما مشکل برنامه های سرور فعلی چیست؟

بیاید محاسبه کنیم. در یک زبان مانند Java و PHP هر اتصال کاربر باعث بوجود آمدن یک thread میشود که حدود 2 مگابایت حافظه را اشغال میکند. حال در یک سیستمی با 8 گیگابایت RAM به طور میانگین بیشترین تعداد اتصالات هم زمان 4000 کاربر است.

اگر شما خواسته باشید که تعداد اتصالات هم زمان را افزایش دهید خوب طبیعتا باید به سرورهای خود اضافه کنید. که این اضافه کردن باعث بوجود آمدن هزینه های بیشتر مانند هزینه های سرور, هزینه های ترافیک, هزینه های نیروی کار و … میشود.

ادامه مطلب را از دست ندهید.

به خاطر همین دلایل معماری وب در تنگنایی وجود دارد که آن هم حداکثر تعداد اتصالات هم زمان است.

Node این مشکل را بوسیله تغییر نحوه یک اتصال به سرور حل میکند. به این صورت که هر اتصال به صورت یک رویداد درون موتور پردازشی Node اجرا میشود. Node ادعا میکند که هیچ وقت به بن بست نمیرسد و میتواند تا ده ها هزار اتصال همزمان را پشتیبانی کند.

بنابراین اگر شما میخواهید برنامه ای بنویسید که هزاران اتصال هم زمان را پشتیبانی کند, چگونه باید با Node کار کنید؟ اما قبل از پاسخ به این سوال بیایید ببینیم که Node چگونه کار میکند؟

Node یک برنامه تحت سرور است. Node قطعا مثل Apache یا Tomcat نیست. این سرورها اساسا سرورهای آماده نصب هستند و میتوانند ماژول هایی را بپذیرند. مانند Apache که ماژول PHP را میتواند اجرا کند و به توسعه دهندگان وب این اجازه را بدهد که اپلیکیشن های داینامیک بسازند و از طریق ماژول SSL برای امن کردن اتصالات آن استفاده کنند.

Node مفهومی از ماژول ها است که میتواند به هسته Node اضافه شود. در حال حاظر صدها ماژول در Node موجود است. و جامعه متن باز در حال بروزرسانی و توسعه آنها هستند.