Edge for Private Cloud، الإصدار 4.17.05
حول عامل النسخ المماثل لـ "كاساندرا"
تقوم "كاساندرا" بتخزين النسخ المتماثلة للبيانات على عُقد متعددة لضمان الموثوقية والتسامح مع الأخطاء. تحدد استراتيجية النسخ المتماثل لكل مساحة مفاتيح في Edge العُقد التي توجد بها النسخ المتماثلة .
يُشار إلى العدد الإجمالي النسخ المتماثلة لمسافة رئيسية عبر مجموعة كاساندرا باسم مجموعة كاساندرا عامل النسخ لـ keyspace. عامل النسخ المتماثل واحد يعني أن هناك واحدًا فقط نسخة من كل صف في المجموعة العنقودية كاساندرا. يعني عامل النسخ المتماثل اثنين أن هناك نوعين نسخ من كل صف، حيث تقع كل نسخة على عقدة مختلفة. جميع النسخ المتماثلة مهمة بنفس القدر؛ لا توجد نسخة مطابقة أساسية أو رئيسية.
في أي نظام إنتاج به ثلاثة أو أكثر من عقد Cassandra في كل مركز بيانات، عامل النسخ لمساحة مفاتيح Edge هو ثلاثة. وكقاعدة عامة، فإن عامل النسخ عدد عُقد كاساندرا في المجموعة العنقودية.
استخدم الإجراء التالي لعرض مخطط Cassandra، الذي يُظهر عامل النسخ المماثل لكل مساحة مفاتيح في Edge:
- سجِّل الدخول إلى عقدة Cassandra.
- نفِّذ الطلب التالي:
> /opt/apigee/apigee-cassandra/bin/cassandra-cli -h $(اسم المضيف -i) <<< عرض المخطّط"
حيث يتم حل $(hostname -i) إلى عنوان IP لعقدة Cassandra. أو يمكنك استبدال $(hostname -i) بعنوان IP الخاص العقدة.
لكل مساحة مفتاح، سترى الناتج في النموذج:
create keyspace kms with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {dc-1 : 3} and durable_writes = true;
يمكنك رؤية أنه بالنسبة لمركز البيانات 1، dc-1، هو عامل النسخ الافتراضي kms المسافة الرئيسية ثلاثة بثلاث عُقد كاساندرا.
إذا أضفت عُقد كاساندرا إضافية إلى المجموعة، فلن يكون عامل النسخ الافتراضي المتأثرة.
على سبيل المثال، إذا قمت بزيادة عدد عُقد كاساندرا إلى ستة، ولكن تركت النسخ المتماثل العامل الثالث، فأنت لا تضمن أن جميع عُقد كاساندرا لها نسخة من جميع البيانات. إذا تنخفض العقدة، كلما زاد عامل النسخ المماثل، زادت احتمالية أن تكون البيانات على العقدة موجود على أحد العقد المتبقية. يتمثل الجانب السلبي لعامل تكرار أعلى في زيادة وقت الاستجابة لعمليات كتابة البيانات.
حول مستوى اتساق كاساندرا
يتم تعريف مستوى تناسق كاساندرا على أنه الحد الأدنى لعدد عُقد كاساندرا التي يجب الإقرار بعملية قراءة أو كتابة قبل اعتبار العملية ناجحة. يمكن تعيين مستويات تناسق مختلفة لمساحات رئيسية مختلفة في Edge.
عند الاتصال بـ "كاساندرا" لإجراء عمليات للقراءة والكتابة، يصبح معالج الرسائل وإدارتها تستخدم عُقد الخادم عادةً قيمة Cassandra وهي LOCAL_QUORUM لتحديد مستوى الاتساق لمفتاح المسافة. ومع ذلك، يُحدد بعض المسافات الرئيسية لاستخدام الاتساق في واحد.
حساب قيمة LOCAL_QUORUM لمركز بيانات هو:
LOCAL_QUORUM = (replication_factor/2) + 1
كما هو موضح أعلاه، فإن عامل النسخ الافتراضي لبيئة إنتاج Edge مع ثلاث عُقد كاساندرا هي ثلاثة. وبالتالي، تكون القيمة التلقائية LOCAL_QUORUM = (3/2) +1 = 2 (يتم تقريب القيمة إلى عدد صحيح).
عند وجود LOCAL_QUORUM = 2، اثنان على الأقل من عُقدة كاساندرا الثلاث في البيانات إلى عملية قراءة/كتابة لكي تنجح العملية. للعقدة الثلاثة المجموعة العنقودية كاساندرا، وبالتالي يمكن للمجموعة العنقودية تحمل عقدة واحدة معطلة لكل مركز بيانات.
من خلال تحديد مستوى الاتساق على LOCAL_QUORUM، تتجنّب Edge وقت الاستجابة. عن طريق التحقق من صحة العمليات في العديد من مراكز البيانات. إذا استخدم مفتاح المسافة المفتاح Cassandra QUORUM كمستوى التناسق، يجب أن تكون عمليات القراءة/الكتابة والتحقق من صحتها عبر جميع مراكز البيانات.
لمعرفة مستوى الاتساق المستخدم في معالج الرسائل أو خادم الإدارة في Edge العُقد:
- سجِّل الدخول إلى عقدة معالج الرسائل.
- عليك التغيير إلى الدليل /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 إضافية إلى المجموعة، فلن يتأثر مستوى الاتساق.