موازنة المقاييس الفرعية

ما هو الانسداد الفرعي

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

كيف يؤثر الانسداد الفرعي على موازنة التحميل

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

على سبيل المثال، لنفترض أن لدينا أربع خدمات وأنها جميعا تبلغ عن حمل للمقياس الأول :

  • الخدمة A - لديها قيد موضع الواجهة الأمامية "NodeType ==" ، يبلغ عن حمولة 10
  • الخدمة B - لديها قيد موضع "NodeType == الواجهة الأمامية" ، يبلغ عن حمولة 10
  • الخدمة C - لديها قيد موضع الواجهة الخلفية "NodeType == " ، يبلغ عن حمولة 100
  • الخدمة D - لديها قيد موضع الواجهة الخلفية "NodeType " ، يبلغ عن حمولة 100
  • ولدينا أربع عقد. اثنان منهم لديهم NodeType تعيين ك "الواجهة الأمامية" والاثنان الآخران هما "الواجهة الخلفية"

ولدينا الموضع التالي:

مثال على الموضع الملحق بنظام مجموعة فرعي

الكتلة تبدو غير متوازنة، لدينا تحميل كبير على العقد 3 و 4، ولكن هذا الموضع يخلق أفضل توازن ممكن في هذه الحالة.

يمكن أن يتعرف مدير الموارد على حالات الانسداد الفرعي وفي جميع الحالات تقريبا يمكن أن ينتج التوازن الأمثل للحالة المحددة.

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

أنواع التجميع الفرعي وكيفية التعامل معها

يمكن تصنيف حالات الدمج الفرعي إلى ثلاث فئات مختلفة. تحدد فئة حالة الانسداد الفرعي المعينة كيفية معالجتها بواسطة إدارة الموارد.

الفئة الأولى - التجميع الفرعي المسطح مع مجموعات العقدة غير المترابطة

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

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

الفئة الثانية - التجميع الفرعي مع مجموعات العقدة الهرمية

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

مثال:

  • الخدمة أ: لا يوجد قيد تحديد الموضع
  • الخدمة ب: قيد الموضع "NodeType == الواجهة الأمامية"
  • الخدمة ج: قيد الموضع الواجهة الخلفية "NodeType=="

ينشئ هذا التكوين علاقة مجموعة فرعية بين مجموعات العقدة للخدمات المختلفة.

أنظمة مجموعات فرعية لمجموعة فائقة لمجموعة فرعية

في هذه الحالة، هناك فرصة أن يحصل على توازن دون المستوى الأمثل.

ستتعرف إدارة الموارد على هذا الموقف وينتج تقريرا صحيا ينصحك بتقسيم الخدمة A إلى خدمتين - الخدمة A1 التي يمكن وضعها على عقد الواجهة الأمامية والخدمة A2 التي يمكن وضعها على عقد الواجهة الخلفية. هذا سيعيدنا إلى حالة الفئة الأولى التي يمكن موازنتها على النحو الأمثل.

الفئة الثالثة - التجميع الفرعي مع التداخل الجزئي بين مجموعات العقد

يحدث هذا الموقف عندما يكون هناك تداخل جزئي بين مجموعات العقد التي يمكن وضع بعض الخدمات.

على سبيل المثال، إذا كان لدينا خاصية عقدة تسمى NodeColor ولدينا ثلاث عقد:

  • العقدة 1: NodeColor = أحمر
  • العقدة 2: NodeColor = أزرق
  • العقدة 3:NodeColor=Green

ولدينا خدمتان:

  • الخدمة أ: مع قيد الموضع "اللون == الأحمر || اللون==الأزرق"
  • الخدمة ب: مع تقييد الموضع "اللون == الأزرق || اللون==الأخضر"

ولهذا السبب ، يمكن وضع الخدمة A على العقدتين 1 و 2 ويمكن وضع الخدمة B على العقدتين 2 و 3.

في هذه الحالة، هناك فرصة أن يحصل على توازن دون المستوى الأمثل.

ستتعرف إدارة الموارد على هذا الوضع وينتج تقريرا صحيا ينصحك بتقسيم بعض الخدمات.

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

تكوين الانسداد الفرعي

يمكن تعديل سلوك إدارة الموارد حول التجميع الفرعي عن طريق تعديل معلمات التكوين التالية:

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

ClusterManifest.xml:

        <Section Name="PlacementAndLoadBalancing">
            <Parameter Name="SubclusteringEnabled" Value="true" />
            <Parameter Name="SubclusteringReportingPolicy" Value="1" />
        </Section>

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

"fabricSettings": [
  {
    "name": "PlacementAndLoadBalancing",
    "parameters": [
      {
          "name": "SubclusteringEnabled",
          "value": "true"
      },
      {
          "name": "SubclusteringReportingPolicy",
          "value": "1"
      },
    ]
  }
]

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

  • لمعرفة كيفية قيام Cluster Resource Manager بإدارة الحمل وموازنته في نظام المجموعة، راجع المقالة حول موازنة الحمل
  • لمعرفة كيفية تقييد الخدمات الخاصة بك ليتم وضعها فقط على عقد معينة، راجع خصائص العقد وقيود الموضع