هل أحتاج بالتأكيد إلى 3 عقد/خوادم على الأقل لمجموعة كاساندرا أم أن 2 كافية؟

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

سؤال

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

في الوقت الحاضر ، يمكنني تحمل استئجار خادمين (ذاكرة الوصول العشوائي 8GB ، VLAN @1GIGE) ولكن ليس 3.

أفهم أن 3 عقد هو الحد الأدنى اللازم لمجموعة كاساندرا لأنه لا توجد أغلبية محتملة بين العقدتين ، والأغلبية مطلوبة لحل النزاعات في الإصدار. أوه انتظر ، هل أفكر في "ساعات المتجهات" ورياك؟ ACK! يستخدم كاساندرا الطوابع الزمنية لحل الصراع.

لعقدتين ، ما هي استراتيجية القراءة/الكتابة الموصى بها؟ هل يجب أن أكتب عمومًا إلى جميع العقد (كلاهما) وأقرأ من واحد (n = 2 ؛ w = n/2+1 ؛ w = 2/2+1 = 2)؟ سوف تستخدم كاساندرا المستعة الملموسة كالمعتاد حتى بالنسبة لعقدتين ، نعم؟

توجد هذين الخوادمين في نفس مركز البيانات FWIW.

شكرًا!

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

المحلول

إذا كنت بحاجة إلى توافر على RF = 2 ، cluStersize = 2 نظام ، فلن تتمكن من استخدام الكل أو لن تتمكن من الكتابة عندما تنخفض العقدة.

هذا هو السبب في أن الناس يوصون 3 عقد بدلاً من 2 ، لأنه بعد ذلك يمكنك القيام بقراءة النصاب+يكتب ولا يزال لديهم كل من الاتساق والتوافر القوي إذا سقطت عقدة واحدة.

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

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