سؤال

لقد صادفت هذا عند وصف تكوين Zookeeper لـ HBase ، وأنا غير معتاد على المصطلح. هل لها أي علاقة مع عدد العقد في مجموعة HBase الخاصة بي؟ أو عدد العقد التي يجب أن أستخدمها في مجموعة Zookeeper الخاصة بي؟

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

المحلول

يشير 2F+1 إلى مستوى الموثوقية/التوفر الذي تحتاجه ، بشكل عام لا يرتبط بالأداء.

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

لنفترض أن لديك 3 خوادم (f = 1) في المجموعة ، إذا فشل المرء ، فلا يزال الخدمة ترتفع (2 هي أغلبية). ومع ذلك ، إذا فشل الخادم الثاني ، فسوف تنخفض الخدمة.

قل أن لديك 5 خوادم (f = 2) في المجموعة. في هذه الحالة ، يمكن أن يفشل خادمان (3 أغلبية) ولا تزال الخدمة ترتفع.

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

لماذا لا يوجد 101 خادمًا بعد ذلك؟ - Tanstaafl. انظر الرسم البياني هنا. ZK هي خدمة تستند إلى النصاب القانوني. نظرًا لأن عدد الخوادم يزيد من انخفاض أداء الكتابة. مطلوب المزيد من الخوادم للمشاركة في عملية القرآن (التصويت). نتيجة لذلك ، تنخفض كتابة OPS/ثانية. (القراءة لم تتأثر رغم ذلك).

نصائح أخرى

n يشير إلى عدد الإخفاقات التي يمكن أن يختبرها النظام ولكن لا يزال قادرًا على العمل مع غالبية العقد على الأقل. مثالان:

n = 1 - يمكن أن تفشل عقدة واحدة من إجمالي 2n+1 = 3 العقد

n = 2 - يمكن أن تفشل العقدان من إجمالي 2n+1 = 5 العقد

وهلم جرا!

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