درود خدمت شما دوستان . یک چند روزی هست node js کمی فکر منو مشغول کرده ؟
که با این همه تعریفی که در نسخه جدید node js 7 می کنند آیا برای جایگزین شدن کامل بجای آپاچی یا nginx مناسب هست ؟
اگر نیست چرا ؟
آیا می شه روش به صورت کامل حساب کرد هم php و هم rails هم خود کتابخونه های جاوااسکریپت رو مدیریت کرد بدون مشکل ؟
ماژول های زیادی داخل npm داره که می گه پشتیبانی می کنه
دیگه بیشتر از این توضیح دادن فکر می کنم اسپم باشه منتظر نظرات شما دوستان هستم با تشکر
Apache, Nginx هر دو دهه ها برای این کار بهتر و بهتر شدند. module ها برای logging. healthcheck , reverse proxy,… برای هرکدوم وجود داره و هر مشکلی رو Apache, Nginx که داشته باشی در اینترت جواب داره
Nginx همون مدل Node داره Reactor Pattern
Async با Eventloop اما کاملا با C نوشته شده و بسیار سریعه.
هر کاری در Node برای جایگزین کردن Nginx میشه یه چیز دست و پا شکسته
نظرات تو اینترنت هم خیلی زیاده . برخی ها گفتند برای چت روم و ساخت اون بسیار کارامده از یک جایی الان شما می فرمایید امکاناتی روی خود nginx وجود دارد از جایی هم می گند می شه روی خود ngnix استفاده کرد .
کلا درک نکردم چرا باید این مورد رو یاد گرفت ؟
آیا اصلا نیاز هست بجاش شاید چیز بهتری باشه ؟
Ngnix اکثرا نقش HTTP Server و Load Balancer داره که جلوی server های Node به کار می ره
Nodejs یک Application Server هست یعنی برای اینکه request در سطح برنامه با منطق(Application Level)، به کار میره
آیا NodeJS میتونه مثل ngnix عمل کنه؟ بله ولی برای این کار نیست و اصولا برای یک لایه بالاتر استفاده میشه
Node در واقع کار شبیه Rack انجام میده
در خلاصه به هردو نیازهست Ngnix برای load balancing, routing,…
Node یا Rack برای کار با Request در سطح برنامه
Node به دلیل مدل Eventloop برای برنامه های بیدرنگ Realtime خوب عمل میکنه اما مشکلات خودشو داره
ممنونم بخاطر پاسختون .
امروز با صحبت های شما و همینطور جستجو بیشتر متوجه تلفیقی کار کردن این دو پروسه شدم .
ولی برام جالب بود که واقعا ریل تایم یا عامل بی درنگ دقیقا با node انجام پذیره یا مثل angular ما حس بی درنگ بودن یا ریل تایم بودن اون رو داریم .
تو دوره کارشناسی ریل تایم رو برای ما به صورت زیر تعریف کردن البته نه کاملا علمی
ریل تایم بودن به این معنی که همیشه یک سری عملات روتین هست که در حال انجامه مثل یک لوپ به همین منظور بسیار سریع هست و شما تغییرات بدون اینکه واقعا حس کنید درخواست دادید دارید ارسال یا می بینید.
اصل هدف من برای رفتن روی node بالا بردن پیشرفت در یک مرحله از کارام هست خیلی ها پیشنهاد دادند اگر به صورت مثال در حال استفاده از php و انگولار و mysql هستی بهتره پس روی node سرمایه گذاری کنی .
و از اونجایی که من اصلا اطلاعات در این رابطه ندارم می خواستم ببنیم آیا من بخوام یک سایتی کاملا ریل تایم درست کنم و اطلاعات بسیار سریع در هرجا تغییر بکنه
انتخاب بهتر من چی هست ؟
مثلا انگولار + php یا روبی + mysql + نود جی اس ؟ یا امکان بهتری دارم ؟
Node و Socket.IO برای برنامه realtime انتخاب بهتریه اما با Actioncable در Rails میشه و یا با Redis
Node و Socket.IO برای سیستم های (soft realtime) ساخته شده یعنی latency تاحدی مقبوله
Node وقتی یک رویداد نشر میشه به تمام socket ها که به رویداد گوش میدن پخش میشه. Publish/Subscribe