در بخش های قبلی این سری از مقاله ها SSJS و NodeJs , ما درباره ی اجزای اصلی و معماری داخلی رویداد حلقه صحبت کردیم. امروز درباره استفاده از NodeJS صحبت خواهیم کرد , به بیان دیگر اینکه چگونه NodeJS را به عنوان تکنولوژی سمت – سرور برای برنامه هایتان انتخاب کنید.
با توجه به nodejs.org , NodeJS سریع و مقیاس پذیر هستند فقط زمانی که با بعضی شرایط های ذهنی توسعه داده شود.
کی از NodeJS استفاده کنیم ؟
NodeJS سخت به شما برنامه های سریع با مقیاس بالا میدهد. شما نمیتوانید به سادگی برای همه ی برنامه هایی که میخواهید از آن استفاده کنید. شما میتوانید از NodeJS برای برنامه هایی مانند برنامه های چت , برنامه های داشبورد و برنامه های در های جریان (Stream) و غیره استفاده کنید.
برنامه بی درنگ (Realtime)
برنامه ی چت , یک نمونه برنامه ی بی درنگ با کاربران متعدد برای NodeJS است . زیرا برنامه ایست سبک وزن , با ترافیک بالا , اطلاعات فشرده اما پردازشگر/ محاسبه گر آهسته که در سراسر دستگاه های توزیع اجرا میشود.
مدل NodeJS برای socketio.js بهترین مدل برای ساخت برنامه های بی درنگ چت و برنامه های مانیتورینگ است.
برنامه های جریان داده (Data Streaming)
میتوانیم برنامه های Stream مانند ویدیو های بی درنگ , رمزگذاری فایل های صوتی , پردازش فایل هایی که در حال آپلود شدن هستند را با آن بسازیم . زمانی که درخواست ها و پاسخ های HTTP همگی Stream هستند , این آسان است که از NodeJS برای ساخت برنامه هایی برای کنترل بر دستکاری Stream استفاده کنیم.
وب API با JSON
با NodeJS میتوانیم به راحتی اشیای JSON تان را نمایش دهیم با یک REST API برای مصرف مشتری . در اینجا ذخیره داده میتواند NoSQL/documents DBs مانند MongoDB , CouchDB و غیره و نیازی نیست که نگران تبدیل بین JSON و مدل های محلی باشیم تا زمانیکه از یک ذخیره داده JSON مثل mongoDb استفاده میکنیم.
برنامه های NodeJS به عنوان پروکسی های وب
از NodeJS میتوان برای ساخت پروکسی های وب و بارگذاری بالانسر ها برای آینه کردن درخواست های واردشونده به مسیر های مربوطه در اهداف سایت استفاده کرد. از آنجایی که NodeJS میتواند چندین درخواست را کنترل کند و به هزاران کاربر به صورت همزمان خدمت رسانی کند بهترین برای ساخت پروکسی ها است .
از مدل Node , ” node-http-proxy ” میتوان برای چنین پروکسی های وب و بارگذاری بالانسر ها استفاده کرد.
چه زمانی از NodeJA استفاده نکنیم !؟
از آنجایی که برای استفاده از NodeJS به عنوان پلتفرم توسعه دهنده باید تابع یک سری از ضوابط خاصی باشیم , حتی دلایلی داریم که چرا از NodeJS استفاده نکنیم.
NodeJS انتخاب درستی برای برنامه های شاخه های زیر نمیباشد.
برنامه های Node با DB های مرتبط
ما قبلا توضیح دادیم که استفاده از ذخیره داده ی JSON مانند MongoDB بهترین گزینه برای ساخت API های وب است. چرا؟ زیرا ذخیره ی JSON نسبت به سایر DB های مرتبط ساده تر و سریعتر است.
طبق جدول مقایسه ای زیر :
http://www.infoivy.com/2013/09/performance-comparison-for-sql-and.html
no-SQL db سریعتر و با مقیاس بیشتری است. از آنجایی که NodeJS از یک I/O بلاک نشدنی و رویداد محور رویکرد استفاده میکند , بهتر است که از DB ای که سریعتر و با گنجایش بیشتری است استفاده کنیم.
برنامه هایی با پردازش های سنگین
اگر ما برنامه ای را آنقدر توسعه دهیم که از CPU کار فشرده و سنگینی را طلب کند , طبیعت NodeJS میشکند. اگر برنامه ی شما نیاز دارد که چند کار داده ای فشرده انجام دهد , آنگاه ممکن است بازخورد NodeJS کاهش یابد.
از آنجایی که محیط NodeJS , single-threaded است , اگر شما کد بلاک I/O در برنامه تان داشته باشید اگر که برنامه دو ثانیه واکنش نشان ندهد با یک درخواست آنی سرور قطع خواهد شد.
جمع بندی
به عنوان جمع بندی بهتر است که از NodeJS برای برنامه ی بی درنگ ساده , چیزی مانند برنامه ی چت , برنامه های مانیتورینگ سیستم , برنامه های داشبورد بازی هایی مانند شطرنج آنلاین استفاده کنید.
اگر نظر , پیشنهاد و یا سوالی دارید لطفا کامنت بگذارید
با تشکر از وقتی که در اختیار بنده و خواندن این مطلب گذاشتید
کد زنی خوبی داشته باشید !
هیچ دیدگاهی نوشته نشده است.