tutorial - node.js ماهو



كيفية قياس بوت بوت الركود إلى 1000 من الفرق (1)

مع مآخذ الركود، لديك الكثير من الأشياء لتوسيع نطاق:

  • عدد المقابس. هذا هو السهل لأنه حتى خوادم رخيصة يمكن التعامل مع الآلاف من مآخذ، مثل أكثر من 50K. ولكن كل مأخذ يمثل زوجين أنواع أخرى من الحمل، المدرجة التالي.
  • مقدار الذاكرة المستخدمة لكل فريق، والذي يعتمد على تنفيذ الخادم الخاص بك. إذا كنت تحاول الاحتفاظ بكمية كبيرة من سجل الرسائل في الذاكرة، فسوف تصل إلى حد الخادم بشكل أسرع مما لو كانت شفرة معالجة الرسالة عديمة الجنسية إلى حد ما.
  • كمية الإدخال / الإخراج، والتي قد تجعلك تريد إلغاء تحميل أي صورة تخدم موازن تحميل منفصل.

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

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

لتنفيذ بوت الركود، ولست بحاجة للتعامل مع "في الوقت الحقيقي التراسل أبي" من الركود. وهو أبي القائم على ويبسوكيت الذي يسمح لك لتلقي الأحداث من سلاك في الوقت الحقيقي وإرسال رسائل كمستخدم. مزيد من المعلومات: https://api.slack.com/rtm

لإنشاء بوت لفريق واحد فقط، ولست بحاجة لفتح اتصال ويبسوكيت واحد والاستماع للأحداث.

لجعل بوت بوت الركود لفريق آخر. أحتاج إلى فتح اتصال ويبسوكيت جديد. وبالتالي،

  • 1 فريق => 1 ويبسوكيت الاتصال
  • 2 فرق => 2 اتصالات ويبسوكيت
  • N تيس => N اتصالات ويبسوكيت

ماذا علي أن أفعل لتوسيع نطاق اتصالات ويبسوكيت للفرق التي لا نهاية لها؟

أي نوع من الهندسة المعمارية يمكن التعامل مع أوتوسكالينغ من 1000 من اتصالات ويبزوكيتس؟





slack