Küme kaynak yöneticisi mimarisine genel bakış

Service Fabric Kümesi Resource Manager, kümede çalışan merkezi bir hizmettir. Kümedeki hizmetlerin istenen durumunu, özellikle de kaynak tüketimi ve yerleştirme kuralları açısından yönetir.

Kümenizdeki kaynakları yönetmek için Service Fabric Kümesi Resource Manager birkaç bilgi parçasına sahip olmalıdır:

  • Şu anda mevcut olan hizmetler
  • Her hizmetin geçerli (veya varsayılan) kaynak tüketimi
  • Kalan küme kapasitesi
  • Kümedeki düğümlerin kapasitesi
  • Her düğümde tüketilen kaynak miktarı

Belirli bir hizmetin kaynak tüketimi zaman içinde değişebilir ve hizmetler genellikle birden fazla kaynak türünü önemser. Farklı hizmetlerde hem gerçek fiziksel hem de fiziksel kaynaklar ölçülebilir. Hizmetler bellek ve disk tüketimi gibi fiziksel ölçümleri izleyebilir. Daha yaygın olarak hizmetler mantıksal ölçümleri önemseyebilir: "WorkQueueDepth" veya "TotalRequests" gibi şeyler. Hem mantıksal hem de fiziksel ölçümler aynı kümede kullanılabilir. Ölçümler birçok hizmette paylaşılabilir veya belirli bir hizmete özgü olabilir.

Diğer önemli noktalar

Kümenin sahipleri ve işleçleri hizmet ve uygulama yazarlarından farklı olabilir veya en azından farklı şapka takanlarla aynı kişilerdir. Uygulamanızı geliştirirken, ne gerektirdiği hakkında birkaç şey bilirsiniz. Tüketeceği kaynaklara ve farklı hizmetlerin nasıl dağıtılacağına ilişkin bir tahmine sahipsiniz. Örneğin, web katmanının İnternet'e sunulan düğümlerde çalışması gerekirken veritabanı hizmetleri çalışmamalıdır. Başka bir örnek olarak, web hizmetleri büyük olasılıkla CPU ve ağ ile kısıtlanırken, veri katmanı hizmetleri bellek ve disk tüketimine daha fazla önem verir. Ancak, üretim ortamında bu hizmet için canlı site olayını işleyen veya hizmete yükseltmeyi yöneten kişinin yapması gereken farklı bir iş vardır ve farklı araçlar gerektirir.

Hem küme hem de hizmetler dinamik olarak çalışır:

  • Kümedeki düğüm sayısı büyüyebilir ve küçülebilir
  • Farklı boyutlarda ve türlerde düğümler gelip gidebilir
  • Hizmetler oluşturulabilir, kaldırılabilir ve istenen kaynak ayırmaları ve yerleştirme kurallarını değiştirebilir
  • Yükseltmeler veya diğer yönetim işlemleri, altyapı düzeylerinde uygulamadaki kümeden geçiş yapabilir
  • Hatalar her zaman oluşabilir.

Küme kaynak yöneticisi bileşenleri ve veri akışı

Küme Resource Manager, her hizmetin gereksinimlerini ve bu hizmetler içindeki her hizmet nesnesi tarafından kaynakların tüketimini izlemesi gerekir. Küme Resource Manager iki kavramsal bölüme sahiptir: her düğümde çalışan aracılar ve hataya dayanıklı bir hizmet. Her düğümdeki aracılar hizmetlerden gelen yük raporlarını izler, bunları toplar ve düzenli aralıklarla raporlar. Küme Resource Manager hizmeti yerel aracılardan gelen tüm bilgileri toplar ve geçerli yapılandırmasına göre tepki gösterir.

Şimdi aşağıdaki diyagrama bakalım:

Küme Resource Manager hizmetini gösteren diyagram, yerel aracılardan gelen tüm bilgileri toplar ve geçerli yapılandırmasına göre tepki gösterir.

Çalışma zamanı sırasında gerçekleşebilecek birçok değişiklik vardır. Örneğin, bazı hizmetlerin değişiklikleri tükettiği, bazı hizmetlerin başarısız olduğu ve bazı düğümlerin kümeye katılıp ayrıldığı kaynak miktarını düşünelim. Düğümdeki tüm değişiklikler toplanır ve düzenli aralıklarla küme Resource Manager hizmetine (1,2) gönderilir ve bunlar yeniden toplanır, analiz edilir ve depolanır. Birkaç saniyede bir hizmet değişikliklere bakar ve herhangi bir eylemin gerekli olup olmadığını belirler (3). Örneğin, kümeye bazı boş düğümlerin eklendiğini fark edebilir. Sonuç olarak, bazı hizmetleri bu düğümlere taşımaya karar verir. Küme Resource Manager belirli bir düğümün aşırı yüklendiğini veya bazı hizmetlerin başarısız olduğunu veya silindiğini fark ederek kaynakları başka bir yerde boşaltabilir.

Şimdi aşağıdaki diyagrama göz atalım ve bundan sonra ne olacağını görelim. Küme Resource Manager değişikliklerin gerekli olduğunu belirlediğini düşünelim. Gerekli değişiklikleri yapmak için diğer sistem hizmetleriyle (özellikle Yük Devretme Yöneticisi) koordine eder. Ardından gerekli komutlar uygun düğümlere (4) gönderilir. Örneğin, Resource Manager Node5'in aşırı yüklendiğini fark ettiğini ve bu nedenle B hizmetini Node5'ten Node4'e taşımaya karar verdiklerini varsayalım. Yeniden yapılandırmanın (5) sonunda küme şöyle görünür:

Kaynak Dengeleyici Mimarisi

Sonraki adımlar

  • Küme Resource Manager kümeyi açıklamaya yönelik birçok seçenek vardır. Bunlar hakkında daha fazla bilgi edinmek için Service Fabric kümesini açıklama makalesine göz atın
  • Küme Resource Manager birincil görevleri kümeyi yeniden dengelemek ve yerleştirme kurallarını zorunlu kılmadır. Bu davranışları yapılandırma hakkında daha fazla bilgi için bkz. Service Fabric kümenizi dengeleme