باستخدام إرلانج، وكيف ينبغي أن توزيع الحمل بين مجموعة؟

StackOverflow https://stackoverflow.com/questions/662131

  •  20-08-2019
  •  | 
  •  

سؤال

وكنت أبحث في وحدات الرقيق / حمام السباحة، ويبدو على غرار ما أنا تريد، ولكن يبدو أيضا مثل ولدي نقطة واحدة من الفشل في بلدي التطبيق (إذا عقدة رئيسية تنخفض).

والعميل لديه قائمة العبارات (من أجل تراجع - كل ما نفس الشيء) التي تقبل وصلات، واحد يتم اختياره من عشوائيا من قبل العميل. عندما يتصل العميل كافة العقد هي فحص لمعرفة ما الذي له أقل الحمل ثم IP من الأقل- يتم توجيه الخادم تحميل مرة أخرى إلى العميل. العميل ثم يتصل هذا الخادم ويتم تنفيذ كل شيء هناك.

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

وكيف أفعل ذلك؟

هل كانت مفيدة؟

المحلول

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

<اقتباس فقرة>   

وعندما يتصل العميل يتم فحص كافة العقد لرؤية الذي له أقل الحمل ومن ثم أحالت IP لخادم تحميل الأقل- إلى العميل.

وكيف نعرف أن كل تلك العقدة الأقل محملة لن يتم تحميل أعلى فقط في مللي ثانية في المرة القادمة؟ كيف أعرف أن كل هذه العقد تحميل عالية التي لن تدرج في قائمة لن تسقط الحمل فقط في مللي ثانية في المرة القادمة؟ كنت حقا لا يمكن معرفة ذلك إلا إذا كان لديك حالة نادرة جدا.

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

تعديل : في أن تكون أكثر وضوحا في التفصيل الدقيق واحدة، وأزعم بشدة أن لا يمكن التنبؤ الحمل في المستقبل من الحمل الحالي والتاريخي ولكن يجب عليك استخدام المعرفة حول المهام فترات احتمال والتحلل الحالي العمر المهمة. هذا العمل هو من الصعب جدا أن نحاول تحقيقه.

نصائح أخرى

والغرض من شجرة الإشراف هو لإدارة العمليات وليس بالضرورة طلبات إلى الأمام. ليس هناك سبب لا يمكن استخدام شفرة مختلفة لإرسال طلبات مباشرة إلى أعضاء قائمة العمليات المتاحة. رؤية بركة: get_nodes أو بركة: get_node () وظائف لطريقة واحدة للحصول على تلك القوائم

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top