Küme kaynak yöneticisi mimarisine genel bakış
Service Fabric Kümesi Kaynak Yöneticisi, kümede çalışan merkezi bir hizmettir. Özellikle kaynak tüketimi ve yerleştirme kuralları açısından kümedeki hizmetlerin istenen durumunu yönetir.
Kümenizdeki kaynakları yönetmek için Service Fabric Kümesi Kaynak Yöneticisi'nin birkaç bilgi parçası olması gerekir:
- Ş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 kullanılan 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ı hizmetler arasında 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.
Dikkat edilecek diğer noktalar
Kümenin sahipleri ve işleçleri hizmetten ve uygulama yazarlarından farklı olabilir veya en azından farklı şapkalar 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 açık 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şi vardır ve farklı araçlar gerektirir.
Hem küme hem de hizmetler dinamik:
- Kümedeki düğüm sayısı büyüyebilir ve küçülebilir
- Farklı boyut ve türlerdeki düğümler gelip gidebilir
- Hizmetler oluşturulabilir, kaldırılabilir ve istenen kaynak ayırmaları ve yerleştirme kuralları değiştirilebilir
- Yükseltmeler veya diğer yönetim işlemleri, altyapı düzeylerinde uygulamadaki kümeden geçiş yapabilir
- Hatalar herhangi bir zamanda gerçekleşebilir.
Küme kaynak yöneticisi bileşenleri ve veri akışı
Küme Kaynak Yöneticisi'nin her hizmetin gereksinimlerini ve bu hizmetler içindeki her hizmet nesnesi tarafından kaynak tüketimini izlemesi gerekir. Küme Kaynak Yöneticisi'nin iki kavramsal bölümü vardır: 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:
Ç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 eylem gerekip gerekmediğini 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 Kaynak Yöneticisi ayrıca 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 sonra ne olacağını görelim. Küme Kaynak Yöneticisi'nin 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'ın 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:
Sonraki adımlar
- Küme Kaynak Yöneticisi'nin kümeyi açıklamaya yönelik birçok seçeneği vardır. Bunlar hakkında daha fazla bilgi edinmek için Service Fabric kümesini açıklama makalesine göz atın
- Küme Kaynak Yöneticisi'nin birincil görevleri kümeyi yeniden dengelemek ve yerleştirme kurallarını zorlamaktır. Bu davranışları yapılandırma hakkında daha fazla bilgi için bkz. Service Fabric kümenizi dengeleme