اعتبارات تخطيط قدرة نظام مجموعة Service Fabric

يعد تخطيط سعة نظام المجموعة أمراً مهماً لكل بيئة إنتاج Service Fabric. تشمل الاعتبارات الرئيسية ما يلي:

  • الرقم الأولي وخصائص أنواع عقدة نظام المجموعة

  • مستوى القدرة على الصمود لكل نوع عقدة، والذي يحدد امتيازات الجهاز الظاهري لـService Fabric داخل البنية الأساسية لـAzure

  • مستوى الموثوقية، الذي يحدد استقرار نظام خدمات Service Fabric ووظيفة المجموعة الشاملة

ستوجهك هذه المقالة خلال نقاط القرار المهمة لكل مجال من هذه المجالات.

الرقم الأولي وخصائص أنواع عقدة نظام المجموعة

يحدد نوع العقدة الحجم والرقم والخصائص لمجموعة العقد (الأجهزة الظاهرية) في نظام المجموعة. يتم تعيين كل نوع عقدة تم تحديده في نظام مجموعة Service Fabric إلى مجموعة مقياس الجهاز الظاهري.

نظراً لأن كل نوع عقدة عبارة عن مجموعة مقياس مميزة، يمكن زيادة حجمها أو تصغيرها بشكل مستقل، وفتح مجموعات مختلفة من المنافذ، ولها مقاييس سعة مختلفة. لمزيد من المعلومات عن العلاقة بين أنواع العقدة ومجموعات مقياس الجهاز الظاهري، راجع أنواع عقد مجموعة Service Fabric.

تتطلب كل مجموعة نوعاً واحداً من العقدة الأساسية، والتي تقوم بتشغيل خدمات النظام المهمة التي توفر إمكانيات النظام الأساسي لـService Fabric. على الرغم من أنه من الممكن أيضاً استخدام أنواع العقد الأساسية لتشغيل تطبيقاتك، يوصى بتخصيصها فقط لتشغيل خدمات النظام.

يمكن استخدام أنواع العقد غير المميزة لتحديد أدوار التطبيق (مثل خدمات الواجهة الأماميةوالخلفية) وعزل الخدمات فعليا داخل نظام المجموعة. يمكن أن تحتوي مجموعات Service Fabric على صفر أو أكثر من أنواع العقد غير المميزة.

يتم تكوين نوع العقدة الأساسية باستخدام السمة isPrimary ضمن تعريف نوع العقدة في قالب توزيع Azure Resource Manager. راجع عنصر NodeTypeDescription للحصول على قائمة كاملة بخصائص نوع العقدة. على سبيل مثال الاستخدام، افتح أي ملف AzureDeploy.json في عينات نظام مجموعة Service Fabric وابحث عن Find on Page عن العنصر nodeTypes.

اعتبارات تخطيط نوع العقدة

يعتمد عدد أنواع العقد الأولية على الغرض من نظام المجموعة والتطبيقات والخدمات التي تعمل عليها. يؤخذ بعين الاعتبار الأسئلة التالية:

  • هل تطبيقك لديه خدمات متعددة، وهل يحتاج أي منها إلى أن يكون عمومياً أو مواجهاً للإنترنت؟

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

  • هل لدى الخدمات التي تكون التطبيق احتياجات بنية أساسية مختلفة مثل ذاكرة الوصول العشوائي (RAM) أو دورات CPU الأعلى؟

    في كثير من الأحيان، يمكن تشغيل خدمة الواجهة الأمامية على أجهزة ظاهرية أصغر (أحجام VM مثل D2) التي تحتوي على منافذ مفتوحة على الإنترنت. قد تحتاج الخدمات الخلفية المكثفة حسابيا إلى التشغيل على أجهزة ظاهرية أكبر (مع أحجام الأجهزة الظاهرية مثل D4 وD6 وD15) غير المواجهة للإنترنت. يتيح لك تحديد أنواع العقد المختلفة لهذه الخدمات الاستفادة بشكل أكثر كفاءة وأماناً من الأجهزة الظاهرية الخاصة بـService Fabric الأساسي، وتمكينها من توسيع نطاقها بشكل مستقل. لمزيد من المعلومات عن تقدير حجم الموارد التي ستحتاج إليها، راجع تخطيط السعة لتطبيقات Service Fabric

  • هل ستحتاج أي من خدمات التطبيقات الخاصة بك إلى التوسع إلى ما بعد 100 عقدة؟

    لا يمكن أن يتعدى نوع العقدة الواحدة بشكل موثوق أكثر من 100 عقدة لكل مقياس جهاز ظاهري تم تعيينه لتطبيقات Service Fabric. يتطلب تشغيل أكثر من 100 عقدة مجموعات مقياس أجهزة افتراضية إضافية (وبالتالي أنواع عقد إضافية).

  • هل سيمتد نظام مجموعتك عبر Availability Zones؟

    يدعم Availability Zones نظام المجموعات التي تمتد عبر Availability Zones من خلال نشر أنواع العقد المثبتة في مناطق معينة، ما يضمن التوفر العالي لتطبيقاتك. تتطلب مناطق التوفر تخطيطاً إضافياً لنوع العقدة والحد الأدنى من المتطلبات. للحصول على تفاصيل، راجع الهيكل الخاص بتوسيع نوع العقدة الأساسي عبر Availability Zones.

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

هناك اعتبار آخر لخصائص نوع العقدة وهو مستوى المتانة، والذي يحدد الامتيازات التي تمتلكها الأجهزة الظاهرية الخاصة بنوع العقدة داخل البنية الأساسية لـAzure. استخدم حجم الأجهزة الظاهرية التي تختارها للمجموعة وعدد المثيلات الذي تقوم بتعيينه لأنواع العقد الفردية للمساعدة في تحديد مستوى المتانة المناسب لكل نوع من أنواع العقد الخاصة بك، كما هو موضح أدناه.

خصائص المتانة لنظام المجموعة

يعيّن مستوى القدرة على الصمود الامتيازات التي تتمتع بها Service Fabric VMs الخاصة بك مع البنية الأساسية لـAzure. يسمح هذا الامتياز Service Fabric بإيقاف أي طلب بنية أساسية على مستوى الجهاز الظاهري (مثل إعادة التشغيل أو إعادة التصوير أو الترحيل) الذي يؤثر على متطلبات الحصة القانونية لخدمات نظام Service Fabric والخدمات ذات الحالة الخاصة بك.

هام

يتم تعيين مستوى المتانة لكل نوع عقدة. إذا لم يكن هناك شيء محدد، فسيتم استخدام الطبقة Bronze. تتطلب أحمال عمل الإنتاج مستوى متانة من Silver أو Gold للمساعدة في تجنب فقدان البيانات من طلبات البنية الأساسية على مستوى الجهاز الظاهري.

يسرد الجدول أدناه طبقات متانة Service Fabric ومتطلباتها وإمكانياتها.

طبقة المتانة الحد الأدنى المطلوب من الأجهزة الظاهرية أحجام VM المدعومة التحديثات التي تجريها على مجموعة موازين الأجهزة الظاهرية الخاصة بك بدء التحديثات والصيانة بواسطة Azure
ذهب 5 أحجام العقدة الكاملة المخصصة لعميل واحد - أحجام الأجهزة الظاهرية المتوفرة يمكن تأجيلها حتى الموافقة عليها من نظام مجموعة Service Fabric يمكن إيقافه مؤقتاً لمدة ساعتين لكل مجال ترقية للسماح بوقت إضافي لاسترداد النسخ المماثلة من حالات الفشل السابقة
فضة 5 أجهزة افتراضية أحادية النواة أو أعلى مع 50 غيغابايت على الأقل من SSD المحلي يمكن تأجيلها حتى الموافقة عليها من نظام مجموعة Service Fabric لا يمكن تأخيره لأي فترة زمنية كبيرة
Bronze 1 أجهزة افتراضية مع 50 غيغابايت على الأقل من SSD المحلي لن يتأخر نظام مجموعة Service Fabric لا يمكن تأخيره لأي فترة زمنية كبيرة

ملاحظة

يعتبر الحد الأدنى المذكور أعلاه لعدد الأجهزة الظاهرية متطلباً ضرورياً لكل مستوى من مستويات المتانة. لدينا عمليات التحقق من الصحة في مكانها والتي ستمنع إنشاء أو تعديل مجموعات مقاييس الجهاز الظاهري الحالية التي لا تفي بهذه المتطلبات.

تحذير

مع المتانة Bronze، لا تتوفر الترقية التلقائية لصور نظام التشغيل. على الرغم من أن Patch Orchestration Application (مخصص فقط للمجموعات المستضافة غير Azure) غير مستحسن للمستوى Silver أو مستويات الصمود الأعلى، فهو خيارك الوحيد للتنفيذ التلقائي لتحديثات Windows فيما يتعلق بترقية المجالات Service Fabric.

هام

بغض النظر عن مستوى المتانة، سيؤدي تشغيل عملية Deallocation على مجموعة مقياس جهاز ظاهري إلى تدمير نظام المجموعة.

Bronze

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

Silver and Gold

استخدم القدرة Silver أو Gold لجميع أنواع العقد التي تستضيف الخدمات ذات الحالة التي تتوقع توسيع نطاقها بشكل متكرر، وحيث ترغب في تأخير عمليات التوزيع وتقليل السعة لصالح تبسيط العملية. يجب ألا تؤثر سيناريوهات التوسع على اختيارك لمستوى القدرة على الصمود.

المزايا

  • يقلل من عدد الخطوات المطلوبة لعمليات التوسع (يتم استدعاء إلغاء تنشيط العقدة وRemove-ServiceFabricNodeState تلقائياً).
  • يقلل من مخاطر فقدان البيانات بسبب عمليات تغيير حجم (الجهاز الظاهري) VM وعمليات البنية الأساسية لـAzure.

العيوب

  • يمكن أن تنتهي مهلة عمليات التوزيع إلى مجموعات مقياس الجهاز الظاهري وموارد Azure الأخرى ذات الصلة أو تتأخر أو يتم حظرها بالكامل بسبب مشاكل في نظام المجموعة أو على مستوى البنية الأساسية.
  • يزيد من عدد replica lifecycle events (على سبيل المثال، المقايضات الأولية) بسبب عمليات إلغاء تنشيط العقدة التلقائية أثناء عمليات البنية الأساسية لـAzure.
  • يُخرج العقد من الخدمة لفترات زمنية أثناء حدوث تحديثات برامج النظام الأساسي Azure أو أنشطة صيانة الأجهزة. قد ترى عقداً بحالة Disabling/Disabled أثناء هذه الأنشطة. يقلل هذا من سعة نظام المجموعة مؤقتا، ولكن لا ينبغي أن يؤثر على توفر نظام المجموعة أو التطبيقات الخاصة بك.

أفضل الممارسات لأنواع عقد القدرة Silver وGold

اتبع هذه التوصيات لإدارة أنواع العقد ذات القدرة Silver أو Gold:

  • حافظ على صحة نظام المجموعة والتطبيقات في جميع الأوقات، وتأكد من استجابة التطبيقات لجميع أحداث دورة حياة النسخ المماثلة لـService (مثل توقف النسخة المماثلة في الإصدار) في الوقت المناسب.
  • اعتماد طرق أكثر أماناً لإجراء تغيير في حجم الجهاز الظاهري (تكبير/تصغير). يتطلب تغيير حجم VM لمجموعة قياس جهاز ظاهري تخطيطاً دقيقاً وحذراً. للحصول على تفاصيل، راجع توسيع نطاق نوع عقدة Service Fabric
  • احتفظ بحد أدنى من خمس عقد لأي مجموعة مقياس جهاز ظاهري تم تمكين مستوى القدرة Gold أو Silver بها. ستدخل مجموعتك حالة الخطأ إذا قمت بتحجيم أقل من هذا الحد، وستحتاج إلى تنظيف الحالة يدويا (Remove-ServiceFabricNodeState) للعقد التي تمت إزالتها.
  • يجب تعيين كل مقياس آلة افتراضي بمستوى قدرة Silver أو Gold إلى نوع العقدة الخاصة به في مجموعة Service Fabric. سيؤدي تعيين مجموعات مقياس جهاز ظاهري متعددة إلى نوع عقدة واحدة إلى منع التنسيق بين نظام مجموعة Service Fabric والبنية الأساسية لـAzure من العمل بشكل صحيح.
  • لا تحذف مثيلات الجهاز الظاهري العشوائية، استخدم دائما مقياس مجموعة مقياس الجهاز الظاهري في الميزة. يمكن أن يؤدي حذف مثيلات الجهاز الظاهري العشوائية إلى حدوث اختلالات في مثيل الجهاز الظاهري المنتشرة عبر مجالات الترقية ومجالات الخطأ. يمكن أن يؤثر هذا الانعدام للتوازن سلباً على قدرة الأنظمة على تحميل التوازن بشكل صحيح بين مثيلات الخدمة/النسخ المماثلة للخدمة.
  • إذا كنت تستخدم مقياساً تلقائيّاً، فعيِّن القواعد بحيث يتم إجراء عمليات القياس في (إزالة مثيلات VM) فقط بمعدل عقدة واحدة في كل مرة. التحجيم في أكثر من مثيل واحد في كل مرة ليس آمنا.
  • في حالة حذف أو إلغاء تخصيص الأجهزة الظاهرية على نوع العقدة الأساسي، لا تقلل أبداً من عدد الأجهزة الظاهرية المخصصة إلى ما دون المستوى المطلوب من مستوى الموثوقية. سيتم حظر هذه العمليات إلى أجل غير مسمى بمقياس محدد بمستوى قدرة Silver أو Gold.

تغيير مستويات القدرة على الصمود

ضمن قيود معينة، يمكن تعديل مستوى القدرة على الصمود لنوع العقدة:

  • لا يمكن خفض تصنيف أنواع العقد التي تحتوي على مستويات قدرة Silver أو Gold إلى المستوى Bronze.
  • لا يتم دعم الرجوع إلى إصدار أقدم من أنواع العقد ذات مستوى القدرة على الصمود من Gold إلى Silver.
  • قد تستغرق الترقية من المستوى Bronze إلى Silver أو Gold بضع ساعات.
  • عند تغيير مستوى القدرة على الصمود، تأكد من تحديثه في تكوين ملحق Service Fabric في مورد مجموعة مقياس الجهاز الظاهري وفي تعريف نوع العقدة في مورد نظام مجموعة Service Fabric. يجب أن تتطابق هذه القيم.

هناك اعتبار آخر عند تخطيط السعة وهو مستوى الموثوقية لمجموعتك، والتي تحدد استقرار خدمات النظام والمجموعة الكلية الخاصة بك، كما هو موضح في القسم التالي.

خصائص الموثوقية لنظام مجموعة

يحدد reliability level للمجموعة عدد النسخ المماثلة لخدمات النظام التي تعمل على نوع العقدة الأساسي للمجموعة. كلما زاد عدد النسخ المماثلة، زادت موثوقية خدمات النظام (وبالتالي نظام المجموعة ككل).

هام

يتم تعيين مستوى الموثوقية على مستوى نظام المجموعة ويحدد الحد الأدنى لعدد العقد من نوع العقدة الأساسية. تتطلب أحمال عمل الإنتاج مستوى موثوقية Silver (أكبر من أو يساوي خمسة عقد) أو أعلى.

يمكن لطبقة الموثوقية أن تأخذ القيم التالية:

  • Platinum - تُشغَّل خدمات النظام مع تسعة من مجموعات النسخ المماثلة المستهدفة
  • Gold - تُشغَّل خدمات النظام مع سبعة من مجموعات النسخ المماثلة المستهدفة
  • Silver - تُشغَّل خدمات النظام مع خمسة من مجموعات النسخ المماثلة المستهدفة
  • Bronze - تُشغَّل خدمات النظام مع ثلاثة من مجموعات النسخ المماثلة المستهدفة

فيما يلي التوصية بشأن اختيار مستوى الموثوقية. يتم أيضاً تعيين عدد العقد الأولية على الحد الأدنى لعدد العقد لطبقة الموثوقية.

عدد العُقد Reliability Tier
1 لا تحدد المعلمة reliabilityLevel : يحسبها النظام.
3 Bronze
5 أو 6 فضة
7 أو 8 ذهب
9 وما فوق Platinum

عندما تقوم بزيادة أو تقليل حجم نظام المجموعة الخاصة بك (مجموع مثيلات VM في جميع أنواع العقد)، ضع في اعتبارك تحديث موثوقية نظام المجموعة الخاصة بك من طبقة إلى أخرى. يؤدي القيام بذلك إلى تشغيل ترقيات نظام المجموعة المطلوبة لتغيير عدد النسخ المماثلة لخدمات النظام. انتظر حتى تكتمل الترقية الجارية قبل إجراء أي تغييرات أخرى على نظام المجموعة، مثل إضافة العقد. يمكنك مراقبة تقدم الترقية في Service Fabric Explorer أو عن طريق تشغيل Get-ServiceFabricClusterUpgrade

تخطيط القدرة الإنتاجية للموثوقية

سيتم تحديد احتياجات السعة لنظام مجموعتك من خلال حمل العمل المحدد ومتطلبات الموثوقية. يقدم هذا القسم إرشادات عامة لمساعدتك على البدء في تخطيط القدرة الإنتاجية.

تغيير حجم الجهاز الظاهري

لأحمال عمل الإنتاج، حجم الجهاز الظاهري (SKU) الموصى به هو Standard D2_V2 (أو ما يعادله) بحد أدنى 50 غيغابايت من SSD المحلي، وذاكرتين أساسيتين، و4 غيغابايت من الذاكرة. يوصى باستخدام SSD محلي بسعة 50 غيغابايت كحد أدنى، إلا إن بعض أحمال العمل (مثل تلك التي تشغل حاويات Windows) تتطلب أقراصاً أكبر.

بشكل افتراضي، يتم تكوين SSD المحلي إلى 64 غيغابايت. يمكن تكوين الحجم في إعداد MaxDiskQuotaInMB لقسم التشخيص في إعدادات نظام المجموعة.

للحصول على إرشادات حول كيفية ضبط إعدادات نظام المجموعة لمجموعة مستضافة في Azure، راجع Upgrade the configuration of a cluster in Azure

للحصول على إرشادات حول كيفية ضبط إعدادات نظام المجموعة لمجموعة مستقلة مستضافة في Windows، راجع Upgrade the configuration of a standalone cluster

عند اختيار أحجام VM أخرى لأحمال العمل الإنتاجية، ضع في اعتبارك القيود التالية:

  • أحجام الأجهزة الظاهرية الجزئية / أحادية النواة مثل Standard A0 غير مدعومة.
  • سلسلة A أحجام الأجهزة الظاهرية غير مدعومة لأسباب تتعلق بالأداء.
  • الأجهزة الظاهرية ذات الأولوية المنخفضة غير مدعومة.
  • وحدات SKU القابلة للاندفاع من الفئة B غير مدعومة.

نوع العقدة الأساسية

تتطلب أحمال عمل الإنتاج على Azure ما لا يقل عن خمسة عقد أساسية (مثيلات VM) والطبقة الموثوقية Silver. يوصى بتخصيص نوع العقدة الأساسية لنظام الخدمة لخدمات النظام، واستخدام قيود الموضع لتوزيع تطبيقك على أنواع العقد الثانوية.

يمكن أن يؤدي اختبار أحمال العمل في Azure إلى تشغيل عقدة أساسية واحدة أو ثلاث عقد أساسية على الأقل. لتكوين مجموعة عقدة واحدة، تأكد من reliabilityLevel حذف الإعداد في قالب Resource Manager (تحديد قيمة سلسلة فارغة ل reliabilityLevel غير كاف). إذا قمت بإعداد نظام مجموعة أحادي العقدة مع مدخل Microsoft Azure، فسيتم إجراء هذا التكوين تلقائياً.

تحذير

تعمل مجموعات العقدة الواحدة بتكوين خاص دون موثوقية وحيث لا يتم دعم توسيع النطاق.

أنواع العقد غير المميزة

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

أحمال العمل ذات الحالة

بالنسبة لأحمال عمل الإنتاج ذات الحالة الخاصة باستخدام Service Fabric reliable collections or reliable Actors، يوصى بحد أدنى مستهدف لعدد النسخ المماثلة وهو خمسة. مع هذا، في حالة الاستقرار، ينتهي بك الأمر بنسخة مماثلة (من مجموعة نسخ مماثلة) في كل مجال خطأ ومجال ترقية. بشكل عام، استخدم مستوى الموثوقية الذي قمت بتعيينه لخدمات النظام كدليل لعدد النسخ المماثلة الذي تستخدمه للخدمات ذات الحالة الخاصة بك.

أحمال العمل عديمة الحالة

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

الخطوات التالية

قبل تكوين نظام مجموعتك، راجع Not Allowedسياسات ترقية نظام المجموعة لتقليل الحاجة إلى إعادة إنشاء المجموعة لاحقاً بسبب إعدادات تكوين النظام غير القابلة للتغيير.

لمعرفة المزيد عن تخطيط نظام مجموعة، انظر: