الكفاءة الخارقة لتطبيقات النود

سلام عليكم أحببت أن أكلمكم عن أحد أهم مكونات منصة النود وهو موديل cluster

منصة النود كما تعرفون لاتستخدم thread لرفع من الكفاءة بل تستخدم event-loop وهو مدعوم ذاخل أنظمة الإشتغال في النواة بشكل مباشر فمثلا لينوكس يحتوي على man 7 epoll ونظام الفري بسد يحتوي على kqueue ونظام ويندوز يحتوى على نظام خاص به إيضا يسمح بتفقد الأحداث التي تقع ذاخل النظام مثلا وصول معلومات على بطاقة الشبكة أو فتح ملف عموما عمليات IO

لذا فتطبيقات النود فهي سريعة جدا مقارنة مع التطبيقات الأخرى المكتوبة بلغات سكريبت غير مكمبلة ولزياة الكفاءة يمكن إستخدام موديل cluster الذي يقوم بخلق عدد من النسخ من نفس التطبيق وتوزيعها على المعالجات فمثلا الآلة تتوفر على ثمانية معالجات فإنكم تقومون بخلق ثمانية من process worker من التطبيق بالإضافة إلى process الأب الذي يقوم بالتحكم بتلك النسخ الثمانية.

يدعم نود أيضا إيمكانية إرسال وإستقبال الرسائل بين الأب والعمال وبهذا يمكن برمجة تطبيقات يمكن إعادة تشغيلها من دون إيقاف البرنامج نهائيا عن طريق إيقاف فقط العمال واحدا تلو الأخر وإعادة تشغيله من دون إيقاف التطبيق كليا وهي عملية جد مفيدة لعمليات الصيانة.

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

لذا فتطبيقات النود فهي سريعة جدا مقارنة مع التطبيقات الأخرى المكتوبة بلغات سكريبت غير مكمبلة.

حسب إختبارات متوسطة البساطة (

فنود ليس أسرع " جدا مقارنة مع التطبيقات الأخرى المكتوبة بلغات سكريبت غير مكمبلة". نود جيد للأعمال الصغيرة التي لا تحتاج إلا مجموعة صغيرة من ال Packages. إن قارنت برنامج يكتب "مرحبا بالعالم" فبالطبع سيكون هو الأسرع كونه إستدعى Package لل HTTP فقط، و للأسف أغلب المقارنات في المدونات الأجنبية تعتمد هذه الطريقة للمقارنة.

مرحبا اخي .. كل شخص لديه تعريف للسرعة .. كتابة سرعة لوحدها بدون تحديد تعريف ونطاق حول الكلمة تجعل حديثك وحديث صاحب الموضوع غير واضح للعامة.

لا يجب كتابة اسرع وابطئ فقط .يجب عليك وعلى صاحب الموضوع شرح المعايير وشرح كيفية طبيقت المعايير وبعدها النتائج.

لصحاب الموضوع ولك:لا تنسى إرفاق مصادر تدعم كلامك.

أخي، لقد قدمت مصدر يدعم كلامي في الرابط، عن السرعة أنت تقول ما أحاول قوله.

في الفقرة الثانية لم تذكر دليل يثبت كلامك :)

معروف أن نود أسرع في هذا المثال و قد شرحت لك السبب و شكرا.

أخي المرجو المشاركة في النقاش لا إملاء على الآخرين ماذا يفعلون، إن لم تقتنع بشيء إسأل عن المصدر، لا تلقي خطاب عن كيفية التعليق في حسوب بل فقط شارك أو تجاوز، على الأقل هكذا يتم في المجتمعات الأجنبية.

هي اكثر نصيحة من املاء :) .. انت تريد جعل المطورين يصدقون كلامك اثبت ذلك بمرجع وليس بكلام من ذهنك.

انا لم يعجبني رايك بان nodeJS صالح للمشاريع الصغيرة فقط. هنا انت خاطئ ساذكر لك مثال واحد هو استخدام Walmart ل NodeJS.

راجع المصادر التالية التي تثبت عكس رايك/

ملاحظة: لا تحاورني الا بعد اطلاعك على المراجع السابقة. الا اذا كان حوارك لا يخص هذه الجملة (نود جيد للأعمال الصغيرة ).

شكرا لك

أخي أنا أعطيتك المصدر (

، أنظر إلى ترتيب Node.js، كل من Go ، PHP، و Dart تفوقوا عليه، لكن في مشروع أصغر الذي هو طباعة نص Node.js تفوق (

، هذا أكثر إختبار معتمد للمقارنة بين لغات و أطر البرمجة للويب. كل ما في مراجعك هو أن Walmart تستخدم Node.js وليس للأمر صلة... بالطبع كل اللغات قادرة على العمل على أكبر المشاريع لكن نتحدث هنا عن الأداء (performance).

الكلام عن لغة برمجة بشكل عاطفي لن ينفع، أن أستخدم Node.js أكثر من أي لغة حاليا و لا أقول أنها الأفضل والأقوى والأسرع. بالمناسبة لن أجيب عن تعليقك القادم فلم تعجبني طريقة حوارك.

لم ترجع الى المراجع السابقة .. للاسف انا ايضا لا استطيع اكمال الحوار .. بتوفيق

أولا أنت تتجاهل الشرط الذي قلته والذي يجعل كلامي صحيح هو أن نود من اسرع المنصات الغير مكمبلة يعني لايمكن مقارنته مع Golang

بأي وجه كان أو PHP الذي يقوم بتنفيد محتوى الملف في كل مرة

شرح مبسط عن موديل كليستر

لاأوافقك الرأي فقد عملت على تطبيقات كبيرة نسبيا بالنود خدمات الموبايل لألاف من المسعملين والنود برهن على قوته في هذا المجال

وقد قمت بتجارب شخصية لمقارنة نود مع php, (slim, codeigniter, laravel) flask and python tornado, flash

وكانت النتائج جد عالية بالنسبة لخدمات التي ترسل json/xml

لذا لاأضن أنه توجد لغة سكريبت تفوق نود في الكفائة إلى حد الآن بالنسبة ل http وحتى tcp/ip

أما قولك أن نود فهو فقط لتطبيقات الصغيرة أضن أن paypal ليس بالصغير عندما قرر أصحابه الهجرة إلى نود

فأتقل منصة لنود مثلا express.js فهو أسرع من أحسن منصة في php وحتى php7 لاتتجاوز سرعتها 2000req/s مع إمكانية ضياع بعض الطلبات أما النود و mysql/mariadb/percona فتتجاوز 4000req/s

أما سرعة النود و /redis فتتجاوز 10,000req/s

أعرف تمام المعرفة مايمكن لآلة معينة أن تقوم به مع python/php مقارنة مع النود لذا قررت الهجرة تماما إلى هذه المنصة ونسيان الماضي البدائي لتلك اللغات

أما إستعراض الكفاءة بعرض benchmarks فهو لايعني أي شيئ, مثلا سواقة الخاصة ب mysql في أغلب لغات البرمجة مكتوبة ب C libmysql

فالنداء من لغة معينة لهذه المكتبة فهو جد مكلف أما السواقة الخاصة بنود فهي مكتوبة كليا بجافا سكريبت مما يعطي كفاءة عالية فمراكمة مثل هذه التفاصيل الصغيرة هي ما يعطي لتطبيق سرعة نهائية.

اخي العزيز ..

استخدم زر رد على رد (موجود اعلى الرد) وراجع ردي على الاخ Volker

paypal تستخدم node في بعض الأجزاء فقط مثل API لتطبيقات الهواتف أو التنبيهات REAL TIME أما كل ما يتعلق بالحسابات و الأموال و عمليات الدفع و الإستقبال فهي مبنية حصراً بلغة JAVA و بإستعمال (EJB (Entreprise JAVA Beans مثلها مثل أغلب خدمات البنوك و البورصات حول العالم ..

انا شاكك بخصوص real time .. لاكن انا متأكد بان خادم الواجهة مكتوبة ب nodejs.

مصدر/

أيضا الرابط الذي وضعته لايندرج ضمن سياق ماقلت في المقال الأول لأنه يقارن مكتبات ومنصات ولغات برمجة وسواقات خاصة بقواعد المعطيات من ذاخل بعض تلك اللغات فكيف يمكن مقارنة golang المكمبلة native مع النود أو مكتبات مذمجة ل c++ ببرمجة الويب فكأننا نقارنة الخوخ والتفاح

إذا كنت تريد مقارنة نود فقارنه مع python, ruby, lua, php

وليس مع c++, go, haskell فهذا غير عادل

تجربتي بسيطة مع النود js حتى أحكم على سرعتها فقد قمت بتجربة تطبيق واحد عليها و كان السيرفر يعاني من تشغيل ذلك التطبيق ربما بسبب قلة مواصفات السيرفر VPS . على كل حال اغلب تطبيقات النود التي شاهدتها تخص موكونات تفعالية بين المتصفح و السيرفر . وهذا شي موجود في تطبيقات AJAX و JQuery + أي لغة برمجة اخرى .

على كل حال المقارنة مع مفسر لغة PHP البائس ليس عادلة لأنها تكاد تكون في قاع الترتيب في الكفائة هذا غير عدم دعمها لتعدد خيوط المعالجة Multi Threads ..

المقارنة ممكن تكون مع asp.net لا اعرف إن كان هناك لغة تفسيرية تقترب منها في سرعة التنفيد . خصوصاً بالنسبة للنود .

الخبير في استخدام لغة نود js هو من يستطيع الحكم عليها ..