ربما يكون العديد من الطلاب قد سمعوا عن Nodejs ويعرفون أنه يمكن تشغيل JavaScript على الخادم ، لكنهم قد لا يكونون واضحين للغاية بشأن سيناريو استخدامه. في الآونة الأخيرة ، كانوا يتعلمون أيضًا Nodejs ، لذلك قمت بإجراء ملخص ؛
مزايا nodejs:
هناك العديد من اللغات من جانب الخادم (PHP ، Java ، ASP.NET). ما هي المشاكل؟ تنشئ اللغة الحالية من جانب الخادم مؤشر ترابط لكل رابط مستخدم عند الوصول إلى الخادم ، لكن كل مؤشر ترابط يستهلك حوالي 2 متر من الذاكرة. إذا كان بإمكان خادم مع ذاكرة 8G أن يربط حوالي 4000 مستخدم. إذا كان لعدد المستخدمين عدد كبير من الروابط ، فيجب زيادة عدد الخوادم. علاوة على ذلك ، هناك العديد من الطرق للمستخدمين للربط في نفس الوقت (مثل التطبيقات ، صفحات الويب في نفس الوقت) ، والتي تتضمن مشكلة مشاركة الخادم ، فكيف يدعم الخادم الحد الأقصى لعدد المستخدمين في نفس الوقت ؛
قامت Nodejs بتعديل طريقة ارتباط العميل إلى الخادم لحل هذه المشكلة. لا ينشئ مؤشر ترابط جديد لكل عميل ، ولكنه يبدأ حدثًا معالجًا داخليًا لكل رابط عميل. لذلك ، لدى NodeJS القدرة على التعامل مع روابط العميل التي تصل إلى عشرات الآلاف من المستخدمين في نفس الوقت ؛
Nodejs مناسبة لتطبيقات التطوير:
عندما يحتاج التطبيق إلى معالجة عدد كبير من الإدخال/الإخراج المتزامن ، ولا يتطلب معالجة معقدة للغاية داخل التطبيق قبل إرسال استجابة إلى العميل ، يجب أن نفكر في استخدام NodeJs لتطوير التطبيق ، على سبيل المثال:
1. خادم الدردشة: إذا كان هناك العديد من الأشخاص الذين يتحدثون ، فإن الرابط المتزامن بين المستخدم والخادم كبير ، لكن معالجة البيانات على الخادم ليست معقدة ؛
2. خوادم مواقع الويب الشاملة للخدمات ومواقع التجارة الإلكترونية: على جانب الخادم من هذا النوع من موقع الويب ، غالبًا ما يكون من الممكن تلقي ما يصل إلى آلاف البيانات في الثانية ويحتاج إلى كتابة هذه البيانات إلى قاعدة البيانات. يمكن لـ Nodejs كتابة هذه البيانات بسرعة في ذاكرة التخزين المؤقت من خلال آلية قائمة الانتظار الخاصة بها ، ثم إخراج البيانات من منطقة ذاكرة التخزين المؤقت واكتبها إلى قاعدة البيانات من خلال كل معالجة منفصلة. إذا كان خادمًا آخر (مثل خادم Apache أو Tomcat Server) ، نظرًا لأن هذه الخوادم تستخدم حظر آليات الإدخال/الإخراج ، فيجب كتابة كل جزء من البيانات في قاعدة البيانات لفترة من الوقت (والانتظار حتى يتم الانتهاء من واحدة قبل كتابة البيانات السابقة) ، ولكن تستخدم Nodejs في آلية I/O غير متوفرة ، بحيث يمكن تنفيذها في كتابة هذه البيانات في البيانات في البيانات التي تصل إلى كل مرة.
تلخيص:
لا يمكن التعامل مع نظام أكبر قليلاً من خلال لغة التطوير. غالبًا ما يتم خلطه مع عدة أنواع ، مثل C و C ++ لتطوير جانب الخادم ، Java لمنطق الأعمال ، PHP للعرض الأمامي ، ويتطلب أيضًا الوسيطة الوسيطة ، إلخ.
يمكن لـ Nodejs النموذج الأولي بسرعة على جانب الخادم (اتضح أنه يمكن القيام بالأشياء فقط بواسطة C-System و Java ، ولا يزال الأداء مرتفعًا للغاية) ، وسيكون كمية الكود صغيرة نسبيًا ؛ النقطة الأخرى هي مزايا بناء الجملة ، وإغلاق JS ، وما إلى ذلك ، لكنها ليست مناسبة للمعالجة المكثفة للوحدة المعالجة المركزية ، ولا يمكن حلها إلا عن طريق الالتفاف. يقال أن شخصًا ما سيشارك في نتائج هذا البحث في QCON هذه المرة ، حتى تتمكن من الانتباه إليها.
كل لغة لها مجالها المناسب. ليست هناك حاجة لإجبار لغة على حل كل شيء. لديها خصائص اللغات الأخرى. فقط عن طريق المفاضلة باستمرار هو الهدف.
هذه كلها ملخصات شوهدت في السلسلة ، آمل أن أقوم بتصحيحها