إلغاء تجزئة المقاييس والحمل في Service Fabric

تتمثل الإستراتيجية الافتراضية لـ Service Fabric Cluster Resource Manager لإدارة مقاييس الحمل في المجموعة في توزيع الحمل. إن ضمان استخدام العقد بالتساوي يتجنب النقاط الساخنة والباردة التي تؤدي إلى كل من الخلاف والموارد المهدورة. يعد توزيع أحمال العمل في المجموعة هو الأكثر أمانًا أيضًا من حيث استمرار حالات الفشل لأنه يضمن أن الفشل لا يأخذ نسبة كبيرة من عبء العمل المحدد.

يدعم Service Fabric Cluster Resource Manager إستراتيجية مختلفة لإدارة الحمل، وهي إلغاء التجزئة. إلغاء التجزئة يعني أنه بدلًا من محاولة توزيع استخدام مقياس عبر المجموعة، يتم دمجه. الدمج هو مجرد انعكاس لاستراتيجية التوازن الافتراضية - بدلًا من تقليل متوسط الانحراف المعياري للحمل المتري، يحاول Resource Manager Cluster زيادته.

متى تستخدم إلغاء التجزئة

يستهلك توزيع الحمل في المجموعة بعض الموارد الموجودة في كل عقدة. تقوم بعض أحمال العمل بإنشاء خدمات كبيرة بشكل استثنائي وتستهلك معظم أو كل العقدة. في هذه الحالات، من الممكن أنه عندما تكون هناك أعباء عمل كبيرة يتم إنشاؤها، لا توجد مساحة كافية على أي عقدة لتشغيلها. أعباء العمل الكبيرة ليست مشكلة في Service Fabric. وفي هذه الحالات، يحدد Resource Manager المجموعة أنه يحتاج إلى إعادة تنظيم المجموعة لإفساح المجال لعبء العمل الكبير هذا. ومع ذلك، في غضون ذلك، يجب أن ينتظر عبء العمل هذا حتى يتم جدولته في المجموعة.

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

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

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

مقايضات إلغاء التجزئة

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

يعطي الرسم البياني التالي تمثيلًا مرئيًا لمجموعتين، واحدة تم إلغاء تجزئتها والأخرى العكس.

مقارنة أنظمة المجموعات المتوازنة وغير المجزأة

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

إيجابيات وسلبيات إلغاء التجزئة

إذن ما هي تلك المقايضات المفاهيمية الأخرى؟ فيما يلي جدول سريع بالأشياء التي يجب التفكير فيها:

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

يمكنك مزج المقاييس غير المجزأة والعادية في نفس المجموعة. يحاول Cluster Resource Manager دمج مقاييس إلغاء التجزئة قدر الإمكان مع نشر مقاييس أخرى. تعتمد نتائج الخلط بين استراتيجيات إلغاء التجزئة والتوازن على عدة عوامل، بما في ذلك:

  • عدد مقاييس الموازنة مقابل عدد مقاييس إلغاء التجزئة
  • ما إذا كانت أي خدمة تستخدم كلا النوعين من المقاييس
  • الأوزان المترية
  • الأحمال المترية الحالية

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

تكوين مقاييس إلغاء التجزئة

يعد تكوين مقاييس إلغاء التجزئة قرارًا عامًا في المجموعة، ويمكن تحديد مقاييس فردية لإلغاء التجزئة. توضح مقتطفات التكوين التالية كيفية تكوين مقاييس إلغاء التجزئة. في هذه الحالة، يتم تكوين "Metric1" كمقياس إلغاء التجزئة، بينما سيستمر توازن "Metric2" بشكل طبيعي.

ClusterManifest.xml:

<Section Name="DefragmentationMetrics">
    <Parameter Name="Metric1" Value="true" />
    <Parameter Name="Metric2" Value="false" />
</Section>

عبر ClusterConfig.json لعمليات التوزيع المستقلة أو Template.json للمجموعات المستضافة في Azure:

"fabricSettings": [
  {
    "name": "DefragmentationMetrics",
    "parameters": [
      {
          "name": "Metric1",
          "value": "true"
      },
      {
          "name": "Metric2",
          "value": "false"
      }
    ]
  }
]

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

  • يمتلك نظام Cluster Resource Manager العديد من الخيارات لوصف نظام مجموعة. لمعرفة المزيد عنها، راجع هذه المقالة عن وصف نظام مجموعة Service Fabric
  • المقاييس هي كيفية إدارة مورد الكتلة النسيج الخدمة الاستهلاك والقدرة في الكتلة. لمعرفة المزيد حول المقاييس وكيفية تكوينها، راجع هذه المقالة