اعتبارات تخطيط قدرة نظام مجموعة Service Fabric
يعد تخطيط سعة نظام المجموعة أمراً مهماً لكل بيئة إنتاج Service Fabric. تشمل الاعتبارات الرئيسية ما يلي:
الرقم الأولي وخصائص أنواع عقدة نظام المجموعة
مستوى القدرة على الصمود لكل نوع عقدة، والذي يحدد امتيازات الجهاز الظاهري لـService Fabric داخل البنية الأساسية لـAzure
مستوى الموثوقية، الذي يحدد استقرار نظام خدمات Service Fabric ووظيفة المجموعة الشاملة
ستوجهك هذه المقالة خلال نقاط القرار المهمة لكل مجال من هذه المجالات.
الرقم الأولي وخصائص أنواع عقدة نظام المجموعة
يحدد نوع العقدة الحجم والرقم والخصائص لمجموعة العقد (الأجهزة الظاهرية) في نظام المجموعة. يتم تعيين كل نوع عقدة تم تحديده في نظام مجموعة Service Fabric إلى مجموعة مقياس الجهاز الظاهري.
نظراً لأن كل نوع عقدة عبارة عن مجموعة مقياس مميزة، يمكن زيادة حجمها أو تصغيرها بشكل مستقل، وفتح مجموعات مختلفة من المنافذ، ولها مقاييس سعة مختلفة. لمزيد من المعلومات عن العلاقة بين أنواع العقدة ومجموعات مقياس الجهاز الظاهري، راجع أنواع عقد مجموعة Service Fabric.
تتطلب كل مجموعة نوعاً واحداً من العقدة الأساسية، والتي تقوم بتشغيل خدمات النظام المهمة التي توفر إمكانيات النظام الأساسي لـService Fabric. على الرغم من أنه من الممكن أيضاً استخدام أنواع العقد الأساسية لتشغيل تطبيقاتك، يوصى بتخصيصها فقط لتشغيل خدمات النظام.
يمكن استخدام أنواع عقدة Non-primary لتحديد أدوار التطبيق (مثل خدمات الواجهة والخلفية) ولعزل الخدمات فعلياً داخل نظام مجموعة. يمكن أن تحتوي نظام مجموعة Service Fabric على صفر أو أكثر من أنواع العقد غير الأساسية.
يتم تكوين نوع العقدة الأساسية باستخدام السمة isPrimary ضمن تعريف نوع العقدة في قالب توزيع Azure Resource Manager. راجع عنصر NodeTypeDescription للحصول على قائمة كاملة بخصائص نوع العقدة. على سبيل مثال الاستخدام، افتح أي ملف AzureDeploy.json في عينات نظام مجموعة Service Fabric وابحث عن Find on Page عن العنصر nodeTypes.
اعتبارات تخطيط نوع العقدة
يعتمد عدد أنواع العقد الأولية على الغرض من نظام المجموعة والتطبيقات والخدمات التي تعمل عليها. يؤخذ بعين الاعتبار الأسئلة التالية:
هل تطبيقك لديه خدمات متعددة، وهل يحتاج أي منها إلى أن يكون عمومياً أو مواجهاً للإنترنت؟
تحتوي التطبيقات النموذجية على خدمة بوابة أمامية تتلقى مدخلات من عميل، وواحدة أو أكثر من خدمات الواجهة الخلفية التي تتواصل مع خدمات الواجهة الأمامية، مع شبكة منفصلة بين خدمات الواجهة الأمامية والخلفية. تتطلب هذه الحالات عادةً ثلاثة أنواع من العقد: نوع عقدة أساسي واحد، ونوعين من أنواع العقد غير الأساسية (أحدهما للخدمة الأمامية والخلفية).
هل لدى الخدمات التي تكون التطبيق احتياجات بنية أساسية مختلفة مثل ذاكرة الوصول العشوائي (RAM) أو دورات CPU الأعلى؟
في كثير من الأحيان، يمكن تشغيل خدمة الواجهة الأمامية على أجهزة ظاهرية أصغر (أحجام VM مثل D2) التي تحتوي على منافذ مفتوحة على الإنترنت. قد تحتاج الخدمات الخلفية المكثفة حسابياً إلى التشغيل على أجهزة ظاهرية أكبر (بأحجام VM مثل 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 | أحجام العقدة الكاملة المخصصة لعميل واحد (على سبيل المثال، L32s وGS5 وG5 وDS15_v2 وD15_v2) | يمكن تأجيلها حتى الموافقة عليها من نظام مجموعة 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 العشوائية، استخدم دائماً مقياس نظام مجموعة مقياس الجهاز الظاهري في الميزة. يمكن أن يؤدي حذف مثيلات الجهاز الظاهري العشوائية إلى حدوث اختلالات في مثيل الجهاز الظاهري المنتشرة عبر مجالات الترقية ومجالات الخطأ. يمكن أن يؤثر هذا الانعدام للتوازن سلباً على قدرة الأنظمة على تحميل التوازن بشكل صحيح بين مثيلات الخدمة/النسخ المماثلة للخدمة.
- إذا كنت تستخدم مقياساً تلقائيّاً، فعيِّن القواعد بحيث يتم إجراء عمليات القياس في (إزالة مثيلات VM) فقط بمعدل عقدة واحدة في كل مرة. التحجيم في أكثر من حالة في المرة الواحدة ليس آمناً.
- في حالة حذف أو إلغاء تخصيص الأجهزة الظاهرية على نوع العقدة الأساسي، لا تقلل أبداً من عدد الأجهزة الظاهرية المخصصة إلى ما دون المستوى المطلوب من مستوى الموثوقية. سيتم حظر هذه العمليات إلى أجل غير مسمى بمقياس محدد بمستوى قدرة Silver أو Gold.
تغيير مستويات القدرة على الصمود
ضمن قيود معينة، يمكن تعديل مستوى القدرة على الصمود لنوع العقدة:
- لا يمكن خفض تصنيف أنواع العقد التي تحتوي على مستويات قدرة Silver أو Gold إلى المستوى Bronze.
- قد تستغرق الترقية من المستوى 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) تتطلب أقراصاً أكبر. عند اختيار أحجام VM أخرى لأحمال العمل الإنتاجية، ضع في اعتبارك القيود التالية:
- لا يتم دعم أحجام الأجهزة الظاهرية الجزئية للذاكرة الأساسية مثل Standard A0.
- أحجام الأجهزة الظاهرية A-series غير مدعومة لأسباب تتعلق بالأداء.
- لا يتم دعم الأجهزة الظاهرية ذات الأولوية المنخفضة.
نوع العقدة الأساسية
تتطلب أحمال عمل الإنتاج على Azure ما لا يقل عن خمسة عقد أساسية (مثيلات VM) والطبقة الموثوقية Silver. يوصى بتخصيص نوع العقدة الأساسية لنظام الخدمة لخدمات النظام، واستخدام قيود الموضع لتوزيع تطبيقك على أنواع العقد الثانوية.
يمكن أن يؤدي اختبار أحمال العمل في Azure إلى تشغيل عقدة أساسية واحدة أو ثلاث عقد أساسية على الأقل. لتكوين نظام مجموعة بعقدة واحدة، تأكد من حذف الإعداد reliabilityLevel تماماً في قالب Resource Manager (لا يكفي تحديد قيمة سلسلة فارغة لـreliabilityLevel). إذا قمت بإعداد نظام مجموعة أحادي العقدة مع مدخل Microsoft Azure، فسيتم إجراء هذا التكوين تلقائياً.
تحذير
يعمل نظام المجموعات أحادية العقدة بتكوين خاص دون موثوقية وحيث لا يتم دعم التوسيع.
أنواع العقدة غير الأساسية
يعتمد الحد الأدنى لعدد العقد لنوع العقدة غير الأساسية على مستوى القدرة على الصمود المحدد لنوع العقدة. يجب عليك تخطيط عدد العقد (ومستوى القدرة على الصمود) بناءً على عدد النسخ المماثلة للتطبيقات أو الخدمات التي تريد تشغيلها لنوع العقدة، اعتماداً على ما إذا كان حمل العمل ذا حالة أو عديم الحالة. ضع في اعتبارك أنه يمكنك زيادة أو تقليل عدد الأجهزة الظاهرية في نوع عقدة ما في أي وقت بعد توزيع نظام المجموعة.
أحمال العمل ذات الحالة
بالنسبة لأحمال عمل الإنتاج ذات الحالة الخاصة باستخدام Service Fabric reliable collections or reliable Actors، يوصى بحد أدنى مستهدف لعدد النسخ المماثلة وهو خمسة. مع هذا، في حالة الاستقرار، ينتهي بك الأمر بنسخة مماثلة (من مجموعة نسخ مماثلة) في كل مجال خطأ ومجال ترقية. بشكل عام، استخدم مستوى الموثوقية الذي قمت بتعيينه لخدمات النظام كدليل لعدد النسخ المماثلة الذي تستخدمه للخدمات ذات الحالة الخاصة بك.
أحمال العمل عديمة الحالة
بالنسبة لأحمال عمل الإنتاج عديمة الحالة، يكون الحد الأدنى المدعوم لحجم نوع العقدة غير الأساسية هو ثلاثة للحفاظ على الحصة، ومع ذلك يوصى باستخدام الحجم الخامس لنوع عقدة ما.
الخطوات التالية
قبل تكوين نظام مجموعتك، راجع Not Allowedسياسات ترقية نظام المجموعة لتقليل الحاجة إلى إعادة إنشاء المجموعة لاحقاً بسبب إعدادات تكوين النظام غير القابلة للتغيير.
لمعرفة المزيد عن تخطيط نظام مجموعة، انظر: