Edge for Private Cloud v4.18.05
لمحة عن عامل تكرار Cassandra
تخزِّن Cassandra نُسخًا من البيانات على عدة عقد لضمان الموثوقية وإمكانية الاحتمال في حال حدوث خطأ. تحدِّد استراتيجية النسخ لكل مساحة مفاتيح Edge العقد التي يتم فيها وضع النُسخ المطابقة.
يُشار إلى إجمالي عدد النُسخ الاحتياطية لمساحة مفاتيح التشفير في مجموعة Cassandra باسم معامل النسخ لمساحة مفاتيح التشفير. يعني عامل التكرار الذي يساوي واحدًا أنّه تتوفّر نسخة واحدة فقط من كل صف في مجموعة Cassandra. يعني عامل التكرار اثنين أنّ هناك نسختين من كل صف، حيث تكون كل نسخة على عقدة مختلفة. جميع النُسخ المكرّرة مهمة بشكلٍ متساوٍ، ولا تتوفّر نسخة أساسية أو رئيسية.
في نظام الإنتاج الذي يتضمّن ثلاث عقد أو أكثر من عقد Cassandra في كل مركز بيانات، يكون عامل النسخ default لمساحة مفاتيح Edge هو ثلاثة. كقاعدة عامة، يجب ألا يتجاوز عامل النسخ عدد عقد Cassandra في المجموعة.
اتّبِع الإجراء التالي لعرض مخطّط Cassandra الذي يعرض عامل النسخ لكل مساحة مفاتيح Edge:
- سجِّل الدخول إلى عقدة Cassandra.
- نفِّذ الأمر التالي:
/opt/apigee/apigee-cassandra/bin/cassandra-cli -h $(hostname -i) <<< "show schema;"
حيث يُحوّل
$(hostname -i)
إلى عنوان IP الخاص بعقدة Cassandra. أو يمكنك استبدال$(hostname -i)
بعنوان IP للعقدة.
لكل مساحة مفاتيح، ستظهر لك النتائج على النحو التالي:
create keyspace kms with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {dc-1 : 3} and durable_writes = true;
يمكنك ملاحظة أنّ عامل التكرار التلقائي لمساحة مفاتيح
kms
في مركز البيانات 1، dc-1
، هو ثلاثة لتركيب
مع ثلاث عقد Cassandra.
في حال إضافة المزيد من عقد Cassandra إلى المجموعة، لن يتم التأثير في عامل النسخ التلقائي.
على سبيل المثال، إذا زادت عدد عقد Cassandra إلى ستة، ولكن تركت عامل النسخ على ثلاثة، لن تضمن أن تتضمّن جميع عقد Cassandra نسخة من جميع البيانات. إذا تعطّلت إحدى العقد، يعني عامل التكرار الأعلى احتمالية أكبر أن تكون البيانات المتوفّرة على العقدة متوفّرة على إحدى العقد المتبقية. يتمثل الجانب السلبي لاستخدام عامل تكرار أعلى في زيادة وقت الاستجابة لعمليات كتابة البيانات.
لمحة عن مستوى اتساق Cassandra
يتم تعريف مستوى اتساق Cassandra على أنّه الحد الأدنى لعدد عقد Cassandra التي يجب أن تُعترف بعملية قراءة أو كتابة قبل اعتبار العملية ناجحة. يمكن تخصيص مستويات اتساق مختلفة لمساحات مفاتيح Edge مختلفة.
عند الاتصال بخادم Cassandra لإجراء عمليات القراءة والكتابة، تستخدم عادةً وحدات الخادم "معالج الرسائل" و"إدارة العميل" قيمة Cassandra LOCAL_QUORUM
لتحديد مستوى الاتساق لمساحة المفاتيح. ومع ذلك، تمّ تحديد بعض مساحات المفاتيح لاستخدام
مستوى اتساق واحد.
يتم احتساب قيمة LOCAL_QUORUM
لمركز البيانات على النحو التالي:
LOCAL_QUORUM = (replication_factor/2) + 1
كما هو موضّح أعلاه، يكون عامل النسخ التلقائي لبيئة الإنتاج في Edge التي تحتوي على
ثلاث عقد Cassandra هو ثلاثة. وبالتالي، القيمة التلقائية LOCAL_QUORUM
=
(3/2) +1 = 2 (يتم تقريب القيمة إلى عدد صحيح).
عندما يكون LOCAL_QUORUM
= 2، يجب أن تستجيب اثنتان على الأقل من عقد Cassandra الثلاث في مركز
البيانات لعملية قراءة/كتابة لكي تنجح العملية. بالنسبة إلى مجموعة Cassandra التي تتألف من ثلاث عقد، يمكن للمجموعة تحمل تعطُّل عقدة واحدة لكل مركز بيانات.
من خلال تحديد مستوى الاتساق على أنّه LOCAL_QUORUM
، يتجنب Edge وقت الاستجابة
المطلوب من خلال التحقّق من العمليات في مراكز بيانات متعددة. إذا كانت مساحة المفاتيح تستخدم قيمة Cassandra
QUORUM
كمستوى الاتساق، يجب التحقّق من عمليات القراءة/الكتابة
في جميع مراكز البيانات.
للاطّلاع على مستوى الاتساق المستخدَم من قِبل معالج رسائل Edge أو عقد الخادم الإداري:
- سجِّل الدخول إلى عقدة Message Processor.
- انتقِل إلى الدليل /opt/apigee/edge-message-processor/conf:
cd /opt/apigee/edge-message-processor/conf
- للحفاظ على اتساق عمليات الكتابة:
grep -ri "write.consistencylevel" *
- للحفاظ على اتساق القراءة:
grep -ri "read.consistencylevel" *
- سجِّل الدخول إلى عقدة "خادم الإدارة".
- انتقِل إلى الدليل /opt/apigee/edge-management-server/conf:
cd /opt/apigee/edge-management-server/conf
- كرِّر الخطوتين 3 و4.
في حال إضافة المزيد من عقد Cassandra إلى المجموعة، لن يتأثّر مستوى الاتساق.