Service Fabric kümenizi dengeleme

Service Fabric Kümesi Resource Manager, düğümlerin veya hizmetlerin eklenmesine veya kaldırılmasına tepki veren dinamik yük değişikliklerini destekler. Ayrıca kısıtlama ihlallerini otomatik olarak düzeltip kümeyi proaktif olarak yeniden dengeler. Peki bu eylemler ne sıklıkta gerçekleştiriliyor ve bunları tetikleyen nedir?

Küme Kaynak Yöneticisi'nin gerçekleştirdiği üç farklı çalışma kategorisi vardır:

  • Yerleştirme: Bu aşama, eksik olan durum bilgisi olan çoğaltmaları veya durum bilgisi olmayan örnekleri yerleştirmeyi ele alır. Yerleştirme hem yeni hizmetleri hem de başarısız olan durum bilgisi olan çoğaltmaları veya durum bilgisi olmayan örnekleri işlemeyi içerir. Çoğaltmaları veya örnekleri silme ve bırakma işlemleri burada gerçekleştirilir.
  • Kısıtlama Denetimleri – Bu aşama, sistem içindeki farklı yerleştirme kısıtlamalarının (kuralların) ihlallerini denetler ve düzelter. Kural örnekleri, düğümlerin kapasiteyi aşmamasını ve bir hizmetin yerleştirme kısıtlamalarının karşılanmasını sağlama gibi durumlardır.
  • Dengeleme: Bu aşama, farklı ölçümler için yapılandırılan istenen denge düzeyine göre yeniden dengeleme gerekip gerekmediğini denetler. Bu durumda kümede daha dengeli bir düzenleme bulmaya çalışır.

Küme Resource Manager Zamanlayıcılarını Yapılandırma

Dengelemeyle ilgili ilk denetim kümesi bir süreölçer kümesidir. Bu zamanlayıcılar, Küme Kaynak Yöneticisi'nin kümeyi ne sıklıkta inceleyip düzeltici eylemler gerçekleştireceklerini yönetir.

Küme Resource Manager'ın gerçekleştirebileceği bu farklı düzeltme türlerinin her biri, sıklığını yöneten farklı bir zamanlayıcı tarafından denetlenmektedir. Her zamanlayıcı tetiklendiğinde, görev zamanlanır. Varsayılan olarak Resource Manager:

  • durumunu tarar ve saniyenin 1/10'unun 1'inde bir güncelleştirmeler (bir düğümün devre dışı olduğunu kaydetme gibi) uygular
  • her saniye yerleştirme denetimi bayrağını ayarlar
  • her saniye kısıtlama denetimi bayrağını ayarlar
  • beş saniyede bir dengeleme bayrağını ayarlar

Bu zamanlayıcıları yöneten yapılandırma örnekleri aşağıda verilmiştir:

ClusterManifest.xml:

        <Section Name="PlacementAndLoadBalancing">
            <Parameter Name="PLBRefreshGap" Value="0.1" />
            <Parameter Name="MinPlacementInterval" Value="1.0" />
            <Parameter Name="MinConstraintCheckInterval" Value="1.0" />
            <Parameter Name="MinLoadBalancingInterval" Value="5.0" />
        </Section>

Tek başına dağıtımlar için ClusterConfig.json veya Azure tarafından barındırılan kümeler için Template.json aracılığıyla:

"fabricSettings": [
  {
    "name": "PlacementAndLoadBalancing",
    "parameters": [
      {
          "name": "PLBRefreshGap",
          "value": "0.10"
      },
      {
          "name": "MinPlacementInterval",
          "value": "1.0"
      },
      {
          "name": "MinConstraintCheckInterval",
          "value": "1.0"
      },
      {
          "name": "MinLoadBalancingInterval",
          "value": "5.0"
      }
    ]
  }
]

Bugün Küme Kaynak Yöneticisi bu eylemlerden yalnızca birini sırayla gerçekleştirir. Bu nedenle bu süreölçerlere "minimum aralıklar" ve süreölçerler "ayar bayrakları" olarak çıktığında kullanılabilecek eylemlere başvuruyoruz. Örneğin, Küme Kaynak Yöneticisi kümeyi dengelemeden önce hizmet oluşturmak için bekleyen istekleri gerçekleştirir. Belirtilen varsayılan zaman aralıklarıyla görebileceğiniz gibi, Küme Resource Manager sık yapması gereken her şeyi tarar. Normalde bu, her adımda yapılan değişiklik kümesinin küçük olduğu anlamına gelir. Küçük ve sık yapılan değişiklikler, kümede bir şeyler olduğunda Küme Kaynak Yöneticisi'nin yanıt vermesine olanak sağlar. Aynı olay türlerinin birçoğu aynı anda gerçekleşme eğiliminde olduğundan, varsayılan zamanlayıcılar bazı toplu işlemler sağlar.

Örneğin düğümler başarısız olduğunda hata etki alanlarının tamamını aynı anda gerçekleştirebilirler. Tüm bu hatalar PLBRefreshGap'ın ardından sonraki durum güncelleştirmesi sırasında yakalanır. Düzeltmeler aşağıdaki yerleştirme, kısıtlama denetimi ve dengeleme çalıştırmaları sırasında belirlenir. Varsayılan olarak Küme Kaynak Yöneticisi, kümedeki saatlerce yapılan değişiklikleri taramaz ve tüm değişiklikleri aynı anda ele almaya çalışmaz. Bunu yapmak ani değişimlere yol açabilir.

Küme Resource Manager'ın kümenin dengesiz olup olmadığını belirlemek için bazı ek bilgilere de ihtiyacı vardır. Bunun için iki yapılandırma parçamız daha var: BalancingThresholds ve ActivityThresholds.

Dengeleme eşikleri

Dengeleme Eşiği, yeniden dengelemeyi tetiklemenin ana denetimidir. Bir ölçümün Dengeleme Eşiği bir orandır. En çok yüklenen düğümdeki bir ölçümün yükü, en az yüklenen düğümdeki yük miktarına bölünürse bu ölçümün BalancingThreshold değerini aşarsa küme dengesiz olur. Sonuç dengeleme, Küme Kaynak Yöneticisi'nin bir sonraki denetiminde tetikleniyor. MinLoadBalancingInterval zamanlayıcı, Küme Kaynak Yöneticisi'nin yeniden dengelemenin gerekli olup olmadığını ne sıklıkta denetlemesi gerektiğini tanımlar. Kontrol etmek bir şey olduğu anlamına gelmez.

Dengeleme Eşikleri, küme tanımının bir parçası olarak ölçüm temelinde tanımlanır. Ölçümler hakkında daha fazla bilgi için ölçümler makalesine bakın.

ClusterManifest.xml

    <Section Name="MetricBalancingThresholds">
      <Parameter Name="MetricName1" Value="2"/>
      <Parameter Name="MetricName2" Value="3.5"/>
    </Section>

Tek başına dağıtımlar için ClusterConfig.json veya Azure tarafından barındırılan kümeler için Template.json aracılığıyla:

"fabricSettings": [
  {
    "name": "MetricBalancingThresholds",
    "parameters": [
      {
          "name": "MetricName1",
          "value": "2"
      },
      {
          "name": "MetricName2",
          "value": "3.5"
      }
    ]
  }
]

Düğüm dengeleme eşiği örneğini gösteren diyagram

Bu örnekte her hizmet bir ölçüm birimi tüketiyor. En üstteki örnekte, bir düğümdeki en fazla yük beş, en az ikidir. Bu ölçüm için dengeleme eşiğinin üç olduğunu düşünelim. Kümedeki oran 5/2 = 2,5 olduğundan ve belirtilen üç dengeleme eşiğinden küçük olduğundan küme dengelenmiş durumdadır. Küme Kaynak Yöneticisi denetlediğinde hiçbir dengeleme tetiklenmez.

Alt örnekte, bir düğümdeki maksimum yük 10'dur, en az iki ise beşlik bir oran elde edilir. Beş, bu ölçüm için belirlenen üç dengeleme eşiğinden büyüktür. Sonuç olarak, dengeleme süreölçeri bir sonraki tetiklendiğinde yeniden dengeleme çalıştırması zamanlanır. Böyle bir durumda yük genellikle Node 3'e dağıtılır. Service Fabric Kümesi Resource Manager doyumsuz bir yaklaşım kullanmadığından, bazı yük Düğüm 2'ye de dağıtılabilir.

Dengeleme eşiğine yanıt olarak gerçekleştirilen eylemi gösteren diyagram.

Not

"Dengeleme", kümenizdeki yükü yönetmek için iki farklı stratejiyi işler. Küme Kaynak Yöneticisi'nin kullandığı varsayılan strateji, yükü kümedeki düğümler arasında dağıtmaktır. Diğer strateji birleştirmedir. Birleştirme aynı dengeleme çalıştırması sırasında gerçekleştirilir. Dengeleme ve birleştirme stratejileri aynı küme içindeki farklı ölçümler için kullanılabilir. Bir hizmetin hem dengeleme hem de birleştirme ölçümleri olabilir. Birleştirme ölçümleri için kümedeki yüklerin oranı dengeleme eşiğinin altında olduğunda yeniden dengelemeyi tetikler.

Dengeleme eşiğinin altına inilmesi açık bir hedef değildir. Dengeleme Eşikleri yalnızca bir tetikleyicidir. Çalıştırmaları dengelerken Küme Kaynak Yöneticisi, varsa hangi iyileştirmeleri gerçekleştirebileceğini belirler. Dengeleyici aramanın iptal olması hareket anlamına gelmez. Bazen küme dengesizdir ancak düzeltilemeyecek kadar kısıtlanır. Alternatif olarak, iyileştirmeler çok maliyetli hareketler gerektirir).

Etkinlik eşikleri

Bazen düğümler görece dengesiz olsa da kümedeki toplam yük miktarı düşüktür. Yük eksikliği geçici bir dip olabilir veya küme yeni olduğundan ve yalnızca önyükleniyor olabilir. Her iki durumda da, kazanılacak çok az şey olduğundan kümeyi dengelemek için zaman harcamak istemeyebilirsiniz. Kümede dengeleme yapılırsa, büyük bir mutlak fark oluşturmadan nesneleri taşımak için ağ ve işlem kaynaklarını harcarsınız. Gereksiz taşımaları önlemek için Etkinlik Eşikleri olarak bilinen başka bir denetim vardır. Etkinlik Eşikleri, etkinlik için mutlak alt sınır belirtmenize olanak tanır. Bu eşiğin üzerinde düğüm yoksa Dengeleme Eşiği karşılandığında bile dengeleme tetiklenmez.

Bu ölçüm için üç olan Dengeleme Eşiğimizi koruduğumuzu düşünelim. Etkinlik Eşiği'nin 1536 olduğunu da varsayalım. İlk durumda, küme Dengeleme Eşiğine göre dengesiz durumdayken bu Etkinlik Eşiğini karşılayan bir düğüm yoktur, bu nedenle hiçbir şey olmaz. Alt örnekte Düğüm 1, Etkinlik Eşiği'nin üzerindedir. Ölçüm için hem Dengeleme Eşiği hem de Etkinlik Eşiği aşıldığından dengeleme zamanlanır. Örnek olarak aşağıdaki diyagrama göz atalım:

Düğüm etkinlik eşiği örneğini gösteren diyagram.

Dengeleme Eşikleri gibi Etkinlik Eşikleri de küme tanımı aracılığıyla ölçüm başına tanımlanır:

ClusterManifest.xml

    <Section Name="MetricActivityThresholds">
      <Parameter Name="Memory" Value="1536"/>
    </Section>

Tek başına dağıtımlar için ClusterConfig.json veya Azure tarafından barındırılan kümeler için Template.json aracılığıyla:

"fabricSettings": [
  {
    "name": "MetricActivityThresholds",
    "parameters": [
      {
          "name": "Memory",
          "value": "1536"
      }
    ]
  }
]

Dengeleme ve etkinlik eşikleri belirli bir ölçüme bağlıdır. Dengeleme yalnızca aynı ölçüm için hem Dengeleme Eşiği hem de Etkinlik Eşiği aşıldığında tetiklenir.

Not

Belirtilmediğinde, bir ölçümün Dengeleme Eşiği 1 ve Etkinlik Eşiği 0'dır. Bu, Küme Resource Manager'ın bu ölçümü belirli bir yük için mükemmel bir şekilde dengeli tutmaya çalışacağı anlamına gelir. Özel ölçümler kullanıyorsanız, ölçümleriniz için kendi dengeleme ve etkinlik eşiklerinizi açıkça tanımlamanız önerilir.

Hizmetleri birlikte dengeleme

Kümenin dengesiz olup olmadığı, küme genelindeki bir karardır. Ancak tek tek hizmet çoğaltmalarını ve örneklerini taşıyarak sorunu düzeltiriz. Bu mantıklı, değil mi? Bellek bir düğümde yığılmışsa, birden çok çoğaltma veya örnek buna katkıda bulunabilir. Dengesizliği düzeltmek için durum bilgisi olan çoğaltmaların veya dengesiz ölçümü kullanan durum bilgisi olmayan örneklerin taşınması gerekebilir.

Ancak bazen, kendisi dengesiz olmayan bir hizmet taşınır (daha önce yerel ve küresel ağırlıklar tartışmasını hatırlayın). Bu hizmetin tüm ölçümleri dengelendiğinde bir hizmet neden taşınsın? Bir örnek görelim:

  • Dört hizmet olduğunu varsayalım: Hizmet 1, Hizmet 2, Hizmet 3 ve Hizmet 4.
  • Service 1, Ölçüm 1 ve Ölçüm 2'yi raporlar.
  • Service 2, Ölçüm 2 ve Ölçüm 3 ölçümlerini raporlar.
  • Service 3, Ölçüm 3 ve Ölçüm 4'e ilişkin ölçümleri raporlar.
  • Hizmet 4, Ölçüm 99'un raporlarını gösterir.

Gerçekten dört bağımsız hizmetimiz yok, ilgili üç hizmetimiz ve kendi başına kapalı olan bir hizmetimiz var.

Hizmetleri birlikte dengelemeyi gösteren diyagram.

Bu zincir nedeniyle 1-4 arası ölçümlerdeki bir dengesizlik, 1-3 hizmetlerine ait çoğaltmaların veya örneklerin gezinmesine neden olabilir. Ölçüm 1, 2 veya 3'teki dengesizliklerin Service 4'te hareketlere neden olmadığını da biliyoruz. Service 4'e ait çoğaltmaların veya örneklerin taşınması, Ölçüm 1-3'ün bakiyesini etkilemek için hiçbir şey yapmadığından hiçbir anlamı yoktur.

Küme Kaynak Yöneticisi hangi hizmetlerin ilişkili olduğunu otomatik olarak anlar. Hizmetlerin ölçümlerini eklemek, kaldırmak veya değiştirmek, bunların ilişkilerini etkileyebilir. Örneğin, service 2 dengelemesinin iki çalıştırması arasında Ölçüm 2 kaldırılacak şekilde güncelleştirilmiş olabilir. Bu, Hizmet 1 ile Hizmet 2 arasındaki zinciri bozar. Şimdi iki ilgili hizmet grubu yerine üç tane vardır:

Küme Kaynak Yöneticisi'nin hangi hizmetlerin ilişkili olduğunu belirlediğini gösteren diyagram.

Düğüm türü başına küme dengelemesi

Önceki bölümlerde açıklandığı gibi, yeniden dengelemeyi tetiklemenin ana denetimleri etkinlik eşikleri, dengeleme eşikleri ve zamanlayıcılardır. Service Fabric Kümesi Kaynak Yöneticisi, düğüm türü başına parametreleri belirterek ve yalnızca dengesiz düğüm türlerinde taşımaya izin veerek yeniden dengelemeyi tetikleme üzerinde daha ayrıntılı denetim sağlar. Düğüm türü başına dengelemenin temel avantajı, diğer düğüm türlerinde performans düşüşü olmadan daha katı dengeleme kuralları gerektiren düğüm türlerinde performans iyileştirmesine olanak sağlamaktır. Özellik iki ana bölümden oluşur:

  • Dengesizlik algılaması düğüm türü başına yapılır. Her düğüm türü için önceden genel dengesizlik hesaplaması hesaplanır. Tüm düğüm türleri dengeliyse, CRM dengeleme aşamasını tetiklemez. Aksi takdirde, en az bir düğüm türü dengesizse dengeleme aşaması gerekir.
  • Dengeleme, çoğaltmaları yalnızca dengesiz düğüm türlerinde taşır; diğer düğüm türleri dengeleme aşamasından etkilenmez.

Düğüm türü başına dengeleme bir kümeyi nasıl etkiler?

Düğüm türü başına küme dengelemesi sırasında Service Fabric Kümesi Kaynak Yöneticisi, her düğüm türü için dengesizlik durumunu hesaplar. En az bir düğüm türü dengesizse dengeleme aşaması tetiklenir. Dengeleme aşaması, dengeleme bu düğüm türlerinde geçici olarak duraklatıldığında (önceki dengeleme aşamasından bu yana en düşük dengeleme aralığı geçirilmedi) dengesiz düğüm türlerindeki çoğaltmaları taşımaz. Dengesiz bir durumun algılanması klasik küme dengelemesi için zaten kullanılabilir olan ortak mekanizmaları kullanır, ancak yapılandırma ayrıntı düzeyini ve esnekliğini artırır. Dengesizliği algılamak için düğüm türü başına dengeleme için kullanılan mekanizmalar aşağıdaki listede verilmiştir:

  • Düğüm türü başına ölçüm dengeleme eşikleri , klasik dengelemede kullanılan genel olarak tanımlanmış dengeleme eşiğiyle benzer role sahip değerlerdir. Her düğüm türü için minimum ve maksimum ölçüm yükü oranı hesaplanır. Düğüm türünün bu oranı düğüm türünün tanımlı dengeleme eşiğinden yüksekse, düğüm türü dengesiz olarak işaretlenir. Düğüm türü başına ölçüm etkinliği eşiklerinin yapılandırmasıyla ilgili daha fazla bilgi için lütfen düğüm türü başına dengeleme eşikleri bölümünü gözden geçirin.
  • Düğüm türü başına ölçüm etkinliği eşikleri , klasik dengelemede kullanılan genel olarak tanımlanmış etkinlik eşiğine benzer bir role sahip değerlerdir. Her düğüm türü için maksimum ölçüm yükü hesaplanır. Bir düğüm türünün maksimum yükü, bu düğüm türü için tanımlanan etkinlik eşiğinden yüksekse, düğüm türü dengesiz olarak işaretlenir. Düğüm türü başına ölçüm etkinliği eşiklerinin yapılandırmasıyla ilgili daha fazla ayrıntı için lütfen düğüm başına etkinlik-eşikleri-türü bölümüne bakın.
  • Düğüm türü başına minimum dengeleme aralığı , genel olarak tanımlanan minimum dengeleme aralığına benzer bir role sahiptir. Küme Kaynak Yöneticisi, her düğüm türü için son dengelemenin zaman damgasını korur. Tanımlanan en düşük dengeleme aralığı içinde bir düğüm türünde ardışık iki dengeleme aşaması yürütülemedi. Düğüm türü başına en düşük dengeleme aralığının yapılandırmasıyla ilgili daha fazla bilgi için lütfen düğüm türü başına minimum dengeleme aralığı bölümünü gözden geçirin.

Düğüm türü başına dengelemeyi açıklama

Düğüm türü başına dengelemeyi etkinleştirmek için, bir küme bildiriminde SeparateBalancingStrategyPerNodeType parametresinin etkinleştirilmesi gerekir. Ayrıca alt kümeleme özelliğinin de etkinleştirilmesi gerekir. Özelliği etkinleştirmeye yönelik bir küme bildirimi PlacementAndLoadBalancing bölümü örneği:

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

Tek başına dağıtımlar için ClusterConfig.json veya Azure'da barındırılan kümeler için Template.json:

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

Önceki bölümde açıklandığı gibi, düğüm türü başına eşikler ve aralıklar belirtilebilir. Belirli bir parametreyi güncelleştirme hakkında daha fazla ayrıntı için lütfen aşağıdaki bölümleri gözden geçirin:

Düğüm türü başına dengeleme eşikleri

Dengeleme yapılandırmasından tanecikliği artırmak için düğüm türü başına ölçüm dengeleme eşiği tanımlanabilir. Dengeleme eşikleri kayan nokta türüne sahiptir, çünkü bunlar belirli bir düğüm türü içindeki maksimum ve en düşük yük değeri oranı için eşiği temsil eder. Dengeleme eşikleri, her düğüm türü için PlacementAndLoadBalancingOverrides bölümünde tanımlanır:

<NodeTypes>
    <NodeType Name="NodeType1">
        <PlacementAndLoadBalancingOverrides>
            <MetricBalancingThresholdsPerNodeType>
                <BalancingThreshold Name="Metric1" Value="2.5">
                <BalancingThreshold Name="Metric2" Value="4">
                <BalancingThreshold Name="Metric3" Value="3.25">
            </MetricBalancingThresholdsPerNodeType>
        </PlacementAndLoadBalancingOverrides>
    </NodeType>
</NodeTypes>

Bir ölçüm için dengeleme eşiği düğüm türü için tanımlanmamışsa eşik, PlacementAndLoadBalancing bölümünde genel olarak tanımlanan ölçüm dengeleme eşiğinin değerini devralır . Aksi takdirde, bir ölçüm için dengeleme eşiği bir düğüm türü için tanımlanmamışsa veya PlacementAndLoadBalancing bölümünde genel olarak tanımlanmamışsa, eşik varsayılan olarak bir değerine sahip olur.

Düğüm türü başına etkinlik eşikleri

Dengeleme yapılandırmasının ayrıntı düzeyini artırmak için düğüm türü başına ölçüm etkinliği eşiği tanımlanabilir. Etkinlik eşikleri tamsayı türüne sahiptir, çünkü bunlar belirli bir düğüm türü içindeki maksimum yük değeri eşiğini temsil eder. Etkinlik eşikleri, her düğüm türü için PlacementAndLoadBalancingOverrides bölümünde tanımlanır:

<NodeTypes>
    <NodeType Name="NodeType1">
        <PlacementAndLoadBalancingOverrides>
            <MetricActivityThresholdsPerNodeType>
                <ActivityThreshold Name="Metric1" Value="500">
                <ActivityThreshold Name="Metric2" Value="40">
                <ActivityThreshold Name="Metric3" Value="1000">
            </MetricActivityThresholdsPerNodeType>
        </PlacementAndLoadBalancingOverrides>
    </NodeType>
</NodeTypes>

Bir ölçüm için etkinlik eşiği düğüm türü için tanımlanmamışsa eşik değeri PlacementAndLoadBalancing bölümünde genel olarak tanımlanan ölçüm etkinliği eşiğinden devralır . Aksi takdirde, bir ölçüm için etkinlik eşiği bir düğüm türü için tanımlanmazsa veya PlacementAndLoadBalancing bölümünde genel olarak tanımlanmamışsa, eşik varsayılan değeri sıfır olur.

Düğüm türü başına minimum dengeleme aralığı

Dengeleme yapılandırmasının ayrıntı düzeyini artırmak için düğüm türü başına en düşük dengeleme aralığı tanımlanabilir. Aynı düğüm türünde ardışık iki dengeleme yuvarlamadan önce geçmesi gereken en düşük süreyi temsil ettiğinden, minimum dengeleme aralığı tamsayı türündedir. Minimum dengeleme aralığı, her düğüm türü için PlacementAndLoadBalancingOverrides bölümünde tanımlanır:

<NodeTypes>
    <NodeType Name="NodeType1">
        <PlacementAndLoadBalancingOverrides>
            <MinLoadBalancingIntervalPerNodeType>100</MinLoadBalancingIntervalPerNodeType>
        </PlacementAndLoadBalancingOverrides>
    </NodeType>
</NodeTypes>

Düğüm türü için en düşük dengeleme aralığı tanımlanmamışsa, interval değeri PlacementAndLoadBalancing bölümünde genel olarak tanımlanan minimum dengeleme aralığından devralır . Aksi takdirde, bir düğüm türü için veya PlacementAndLoadBalancing bölümünde minimum aralık tanımlanmazsa, minimum aralık varsayılan sıfır değerine sahip olur ve bu da ardışık dengeleme yuvarlamaları arasında duraklamanın gerekli olmadığını gösterir.

Örnekler

Örnek 1

Bir kümenin A düğüm türü ve düğüm türü B olmak üzere iki düğüm türü içerdiği bir durumu ele alalım. Tüm hizmetler aynı ölçümü rapor eder ve bu düğüm türleri arasında bölünür, bu nedenle yük istatistikleri onlar için farklıdır. Örnekte, A düğüm türü en fazla 300 ve en az 100 yüke sahiptir ve B düğüm türü en fazla 700 ve en az 500 yüke sahiptir:

İki düğüm türüyle düğüm türü dengeleme eşiği örneğini gösteren diyagram.

Müşteri, iki düğüm türünde iş yüklerinin farklı dengeleme gereksinimlerine sahip olduğunu belirledi ve düğüm türü başına farklı dengeleme ve etkinlik eşikleri ayarlamaya karar verdi. A düğüm türünün dengeleme eşiği 2,5, etkinlik eşiği ise 50'dir. B düğüm türü için müşteri dengeleme eşiğini 1,2 ve etkinlik eşiğini 400 olarak ayarlar.

Bu örnekte küme için dengesizlik algılanması sırasında her iki düğüm türü de etkinlik eşiğini ihlal eder. 300 A düğüm türünün maksimum yükü, tanımlı etkinlik eşiği olan 50'den yüksektir. 700 düğüm türü B düğümünün maksimum yükü, tanımlı etkinlik eşiği olan 400'den yüksektir. A düğüm türü, en yüksek ve en düşük yükün geçerli oranı 3 ve dengeleme eşiği 2,5 olduğundan dengeleme eşiği ölçütlerini ihlal eder. Bunun tersi, bu düğüm türü için geçerli maksimum ve en düşük yük oranı 1,2 olduğundan, B düğüm türü dengeleme eşiği ölçütlerini ihlal etmez, ancak dengeleme eşiği 1,4'tür. Dengeleme yalnızca A düğüm türündeki çoğaltmalar için gereklidir ve dengeleme aşamasındaki taşımalar için uygun olacak tek çoğaltma kümesi, düğüm türü A'ya yerleştirilen çoğaltmalardır.

Örnek 2

Bir kümenin A, B ve C düğüm türü olmak üzere üç düğüm türü içerdiği bir durumu ele alalım. Tüm hizmetler aynı ölçümü rapor eder ve bu düğüm türleri arasında bölünür, bu nedenle yük istatistikleri onlar için farklıdır. Örnekte, A düğüm türü en fazla 600 ve en az 100 yüke sahiptir, B düğüm türü en fazla 900 ve en az 100 yüke sahiptir ve C düğüm türü en fazla 600 ve en az 300 yüke sahiptir:

Üç düğüm türüne sahip bir düğüm türü dengeleme eşiği örneğini gösteren diyagram.

Müşteri bu düğüm türlerinin iş yüklerinin farklı dengeleme gereksinimlerine sahip olduğunu belirledi ve düğüm türü başına farklı dengeleme ve etkinlik eşikleri ayarlamaya karar verdi. A düğüm türünün dengeleme eşiği 5, etkinlik eşiği ise 700'dür. B düğüm türü için müşteri dengeleme eşiğini 10, etkinlik eşiğini 200 olarak ayarlar. C düğüm türü için müşteri dengeleme eşiğini 2, etkinlik eşiğini 300 olarak ayarlar.

A 600 düğüm türünün maksimum yükü, tanımlı etkinlik eşiği olan 700'den daha düşüktür, bu nedenle A düğüm türü dengelenmez. 900 düğüm türü B düğümünün maksimum yükü, tanımlı etkinlik eşiği olan 200'den yüksektir. B düğüm türü etkinlik eşiği ölçütlerini ihlal eder. 600 düğüm türü C düğümünün maksimum yükü, tanımlı etkinlik eşiği olan 300'den yüksektir. C düğüm türü etkinlik eşiği ölçütlerini ihlal eder. Bu düğüm türü için geçerli maksimum ve en düşük yük oranı 9 olduğundan, B düğüm türü dengeleme eşik ölçütlerini ihlal etmez, ancak dengeleme eşiği 10'dur. En yüksek ve en düşük yükün geçerli oranı 2 ve dengeleme eşiği 2 olduğundan, C düğüm türü dengeleme eşiği ölçütlerini ihlal eder. Dengeleme yalnızca C düğüm türündeki çoğaltmalar için gereklidir ve dengeleme aşaması sırasında taşımalara uygun olacak tek çoğaltma kümesi, düğüm türü C'ye yerleştirilen çoğaltmalardır.

Sonraki adımlar

  • Ölçümler, Service Fabric Kümesi Kaynak Yöneticisi'nin kümedeki tüketimi ve kapasiteyi yönetme şeklidir. Ölçümler ve bunları yapılandırma hakkında daha fazla bilgi edinmek için ölçümler makalesine göz atın
  • Taşıma Maliyeti, Küme Kaynak Yöneticisi'ne belirli hizmetlerin taşınmasının diğerlerinden daha pahalı olduğunu belirten bir sinyal yöntemidir. Hareket maliyeti hakkında daha fazla bilgi için taşıma maliyeti makalesine bakın
  • Küme Kaynak Yöneticisi'nde kümedeki değişim oranını yavaşlatmak için yapılandırabileceğiniz birkaç kısıtlama vardır. Normalde gerekli değildir, ancak bunlara ihtiyacınız varsa gelişmiş azaltma makalesini öğrenebilirsiniz
  • Küme Kaynak Yöneticisi alt kümelemesi tanıyabilir ve işleyebilir. Yerleştirme kısıtlamaları ve dengeleme kullandığınızda alt kümeleme ortaya çıkabilir. Alt kümelemenin dengelemeyi nasıl etkileyebileceğini ve bunu nasıl işleyeceğinizi öğrenmek için alt kümeleme makalesine bakın