Dev Stream
Dev Stream
خواندن ۵ دقیقه·۴ سال پیش

NGINX Unit


نوشته شده توسط علی آخی و بردیا اکبری


تیم NGINX پیشنهاد جدیدی با هدف حل برخی از چالش های مشترک فرآیندهای توسعه مدرن با نام NGINX Unit را مطرح کرد.در واقع ابزار NGINX Unit یک application server پویا است ،که هم در کنار NGINX Plus و NGINX قابل اجرا است و هم به طور مستقل کار میکند. NGINX Unit تغییرات پیکربندی را بدون ایجاد اختلال در سرویس اعمال می کند و برنامه های ساخته شده با چندین زبان و چارچوب را اجرا می کند. از ابتدا طراحی شده که به نیازهای distributed application پاسخ بدهد، همچنین پایه service mesh را تشکیل می دهد.


خب تا حالا با nginx و nginx Pluse آشنا شدیم اما اصلا چه نیازی به استفاده از این ابزار هست؟!

اما آنچه شما را در پاسخ به این سوال متقاعد می کند شامل مواد زیر است :

1- پویا بودن این ابزار:

به کمک ابزار nginx Unit برنامه های خود را real time پیکربندی کنید. NGINX Unit متناسب با microservices های جدید تنظیم شده است.

2- تر و تمیز بودن:

ابزار NGINX Unit با ارائه ی یک پشته، تنظیمات واحد(configuration stack) از الزامات و دردسرهای مرتبط با چندین application servers جلوگیری کنید.

3- قابل اعتماد بودن:

درست مثل سایر محصولات nginx تیم فوق العاده ی nginx به صورت تمام قد از شما حمایت می کند.


*** قابلیت های NGINX Unit

چند زبانی در nginx Unit:

پشتیبانی یکنواخت از زبان های بک اند Go ، Node.js ، Perl ، PHP ، Python و Ruby و برنامه های نوشته شده به زبان های مختلف در همان سرور اجرا می شوند .همچنین نسخه های مختلف یک زبان با هم اجرا می شوند مثلا php5 با php7 یا مثلا Python2.7 با Python3. با این کار شما همه برنامه ها را با یک رابط کاربری ساده پیکربندی می کنید.


قابلیت انعطاف پذیری nginx Unit:

با توجه به گستردگی NGINX ، برای جا نماندن از قافله باید در سال چند config file را مطالعه کنید تا با قابلیت های جدید nginx آشنا شوید همچنین حافظه خود را درمورد دستورات nginx تازه نگه دارید. اما همان طور که می دانید هر بار که باید مهندسی معکوس کنید.ابزار NGINX Unit این مدل پیکربندی ضروری را در خود حفظ کرده و در عوض یک مدل پیکربندی اعلانی را در خود دارد. مسلماً ،NGINX Unit به مراتب کمتر از یک فایل پیکربندی NGINX قابل تنظیم است .

مدل تنظیمات اعلانی باعث می شود NGINX Unit برای افرادی که تجربه پیکربندی سرویس های ابری و سیستم عامل هایی مانند Kubernetes را دارند ، بسیار آسان شود.


قابلیت Service Mesh در nginx Unit:

شبکه پشته یکپارچه برای ارتباط سریع service-to-service پیکربندی شبکه را از کد برنامه تا پشتیبانی SSL / TLS داخلی بارگیری می کند.


نقاط ضعف استفاده از nginx Unit:

1- هیچ پورت ویندوزی وجود ندارد که NGINX Unit را فقط به مخازن های لینوکس و MacOS محدود کند.

2- برای کار با NGINX Unit ، باید کد های پایگاه داده Go و Node.js اصلاح شوند.

3- اگر عملکردهای ارائه شده توسط NGINX Unit امروز پاسخگوی نیازهای شما باشد ، انتخاب طبیعی برای استفاده از سرویس سنتی NGINX است.

4- ابزار NGINX Unit برای فرآیندی که مدیریت می کند ،health checks ارائه نمی دهد.



یک سوال ؟!

ابزار nginx Unit همان nginx نیست؟!!!

این مدل پیکربندی مبتنی بر JSON را ارائه می دهد ، و پیکربندی را از طریق HTTP API در معرض دید قرار می دهد و یک مدل اعلانی را برای پیکربندی رایج ترین موارد استفاده در شبکه ایجاد می کند ، همه ی اینها در عین حال سبک و ساده است.

این رویکرد به این معنی است که برخی موارد استفاده که در حال حاضر توسط NGINX پشتیبانی می شوند ، در NGINX Unit امکان پذیر نیست ، اما با انتشار جدید هر چند ماه ، انتظار می رود عملکرد NGINX Unit رشد کند.

اگر عملکردهای ارائه شده توسط NGINX Unit امروز پاسخگوی نیازهای شما باشد ، انتخاب طبیعی برای استفاده از سرویس سنتی NGINX است.



نتیجه گیری از آنچه گفته شد...

آنچه ما در این مقاله به دنبال آن بودیم و در حقیقت ایده اصلی این مقاله هم براساس آن شکل گرفت این بود که ، توجه ها بیشتر به سمت nginx و قابلیت های مختلف NGINX و همچنین پشتیبانی و نحوه عملکرد این کمپانی در ساپورت محصولاتش جلب شود هر چند کوتاه و هرچند مختصر اما به دور از هر گونه مقایسه بی جا و نا روا .


می دانیم که نتیجه گیری خلاصه ای از کل مطلب است اما ما می خواهیم سنت شکنی کرده و این نتیجه گیری را به تجربیات دیگران بسپاریم چرا که قضاوت این مسئله از عهده ما خارج است و امکان دارد بطور ناخواسته در ادای مطلب، غرض شخصی ما اعمال شود. ناگفته نماند ما با این کار قصد نداریم فقط نظرات مثبت را بازگو کنیم .


این مطلب ادامه دارد...

باتشکر فراوان!



وبnginxwebوب سرور
جایی برای یادگرفتن و گپ برنامه نویس ها
شاید از این پست‌ها خوشتان بیاید