أفضل ممارسات AWS

يلخص هذا القسم أفضل الممارسات التي نتبعها ويقدم اقتراحاتنا لاستخدام OPDK مع سحابة AWS.

تُستخدم Cassandra كخلفية ومخزن بيانات لجميع السياسات تقريبًا، وهي جزء مهم من بيئة تشغيل Apigee Edge. يركز هذا المستند على تحسين Casssandra لبيئة AWS.

متطلبات التخزين وI/O

معظم مؤتمر Cassandra I/O متسلسلة، ولكن في بعض الحالات، تحتاج إلى إدخال/إخراج عشوائي. مثال على ذلك عند قراءة جداول السلاسل المصنفة أثناء عمليات القراءة. محرك الأقراص ذي الحالة الصلبة (SSD) هو آلية التخزين الموصى بها لـCassandra، لأنّه يوفّر أوقات استجابة منخفضة للغاية لعمليات القراءة العشوائية، مع توفير أداء كتابة تسلسلي كافٍ لعمليات الضغط. يُؤخذ أيضًا التكرار في الاعتبار هنا.

تأتي العديد من المثيلات في AWS EC2 مزوّدة بوحدة تخزين محلية يتم فيها توصيل القرص الصلب فعليًا بالجهاز الذي يستضيف مثيل EC2. توصي Apigee بالاستفادة من كل من متاجر SSD والمثيل عند تشغيل Cassandra في الإنتاج. عند استخدام نوع مثيل مزود بأكثر من محرك أقراص ذي الحالة الصلبة 1، يمكنك استخدام RAID0 لزيادة سرعة معالجة البيانات وسعة التخزين.

متطلبات الشبكة

تستخدم "كاساندرا" بروتوكول "الثرثرة" لتبادل المعلومات مع العُقد الأخرى حول طوبولوجيا الشبكة. يؤدي استخدام Gossip إلى جانب الطبيعة الموزعة لـ Cassandra، والتي تتضمن التحدث إلى عُقد متعددة لعمليات القراءة والكتابة، إلى نقل الكثير من البيانات عبر الشبكة. تنصح Apigee باستخدام نوع المثيل مع معدل نقل بيانات للشبكة 1 غيغا بت في الثانية على الأقل وأكثر من 1 غيغابت في الثانية لأنظمة الإنتاج.

استخدام شبكة VPC مع CIDR بقيمة /16. نظرًا لأن الشبكات الفرعية في AWS لا يمكن أن تمتد عبر أكثر من 1 أريزونا، تنصح Apigee بما يلي:

  • إنشاء شبكة فرعية واحدة لكل منطقة توفُّر (أريزونا)
  • استخدِم 3 شبكات فرعية خاصة لتثبيت Apigee، مع عقدة Cassandra واحدة في كل منطقة من الألف إلى الياء. ويجب أن تحتوي الشبكات الفرعية الثلاث على ما يكفي من كتل CIDR لاستيعاب التوسع الأفقي لمجموعة Cassandra.
  • يمكنك إعداد 3 شبكات فرعية عامة باستخدام ترجمة عنوان الشبكة (NAT) المخصّصة لكاساندرا حتى تتمكن من الاتصال بالإنترنت من أجل تنزيل البرامج وتحديثات الأمان.

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

اختيار مجموعة الأجهزة الافتراضية

عند النظر إلى متطلبات وحدة المعالجة المركزية Cassandra، من المفيد ملاحظة أنّ أعباء العمل الثقيلة التي يتم إدخالها تكون مرتبطة بوحدة المعالجة المركزية (CPU) في واجهة كاساندرا قبل أن تصبح مرتبطة بوحدات المعالجة المركزية (IO). بمعنى آخر، تنتقل جميع عمليات الكتابة إلى سجل الالتزام، لكن "كاساندرا" فعالة جدًا في الكتابة لدرجة أن وحدة المعالجة المركزية (CPU) تصبح العامل المقيد. تتسم مكتبة كاساندرا بأنها متزامنة للغاية وتستخدم أكبر عدد ممكن من نوى وحدة المعالجة المركزية (CPU).

تنصح Apigee باستخدام عائلة افتراضية تحتوي على توازن بين وحدة المعالجة المركزية (CPU) والذاكرة. ننصحك تحديدًا باستخدام مثيلات العائلة C5 إذا كانت متاحة في منطقة AWS وC3 كخيار تراجع. في بعض الحالات، تكون 4xlarge هي المثال الأمثل في كلتا العائلتين التي تقدم أفضل سعر/أداء.

تنصح Apigee أيضًا باستخدام تأجير تلقائي لمثيلات Cassandra. عند التوسع إلى أكثر من مثيل واحد في أريزونا، من المرجح أن يتم وضع جميع مثيلات Cassandra على نفس الجهاز الأساسي في حالة تعيين الإيجار المخصَّص. لذلك، عندما تفشل الأجهزة، من المحتمل أن تفقد جميع المثيلات الخاصة بك في تلك المنطقة من الألف إلى الياء.

ملخّص الاقتراحات

يلخّص الجدول التالي اقتراحات Apigee لاستخدام AWS مع Apigee Edge for Private Cloud:

عائلة المثيل C5d (مفضل) أو C3
نوع المثيل C(x).4xlarge
متجر مثيلات SSD (وحدة تخزين محلية) مع RAID0
نوع الإيجار التلقائية
موضع العُقدة عقدة "كاساندرا" واحدة لكل أريزونا
شبكة VPC والشبكة الفرعية شبكة فرعية واحدة في كل من أريزونا وشبكة سحابة VPC في كل منطقة

لمزيد من المعلومات، يُرجى الاطّلاع على أنواع الأجهزة الافتراضية من Amazon.