Share via


Service Fabric mimarisi

Service Fabric katmanlı alt sistemlerle oluşturulur. Bu alt sistemler şunlara sahip uygulamalar yazmanızı sağlar:

  • Yüksek oranda kullanılabilir
  • Ölçeklenebilir
  • Yönetilebilir
  • Sınanabilir

Aşağıdaki diyagramda Service Fabric'in ana alt sistemleri gösterilmektedir.

Service Fabric mimarisinin diyagramı

Dağıtılmış bir sistemde, kümedeki düğümler arasında güvenli bir şekilde iletişim kurabilme özelliği çok önemlidir. Yığının temelinde, düğümler arasında güvenli iletişim sağlayan aktarım alt sistemi bulunur. Aktarım alt sisteminin üst kısmında farklı düğümleri tek bir varlığa (adlandırılmış kümeler) kümeleyen federasyon alt sistemi bulunur; böylece Service Fabric hataları algılayabilir, öncü seçimi yapabilir ve tutarlı yönlendirme sağlayabilir. Federasyon alt sisteminin üzerine katmanlanmış güvenilirlik alt sistemi, çoğaltma, kaynak yönetimi ve yük devretme gibi mekanizmalar aracılığıyla Service Fabric hizmetlerinin güvenilirliğinden sorumludur. Federasyon alt sistemi, bir uygulamanın tek bir düğümdeki yaşam döngüsünü yöneten barındırma ve etkinleştirme alt sistemini de altına alır. Yönetim alt sistemi, uygulama ve hizmetlerin yaşam döngüsünü yönetir. Test edilebilirlik alt sistemi, uygulama geliştiricilerinin uygulamaları ve hizmetleri üretim ortamlarına dağıtmadan önce ve sonra sanal hatalar aracılığıyla hizmetlerini test etmelerine yardımcı olur. Service Fabric, iletişim alt sistemi aracılığıyla hizmet konumlarını çözümleme olanağı sağlar. Geliştiricilere sunulan uygulama programlama modelleri, araçları etkinleştirmek için uygulama modeliyle birlikte bu alt sistemlerin üzerine katmanlanır.

Aktarım alt sistemi

Aktarım alt sistemi bir noktadan noktaya veri birimi iletişim kanalı uygular. Bu kanal, service fabric kümeleri içinde iletişim ve service fabric kümesi ile istemciler arasındaki iletişim için kullanılır. Federasyon katmanında yayın ve çok noktaya yayın uygulamak için temel sağlayan tek yönlü ve istek-yanıt iletişim desenlerini destekler. Aktarım alt sistemi, X509 sertifikalarını veya Windows güvenliğini kullanarak iletişimin güvenliğini sağlar. Bu alt sistem Service Fabric tarafından dahili olarak kullanılır ve uygulama programlama için geliştiriciler tarafından doğrudan erişilemez.

Federasyon alt sistemi

Dağıtılmış bir sistemdeki bir düğüm kümesi hakkında gerekçe oluşturmak için sistemin tutarlı bir görünümüne sahip olmanız gerekir. Federasyon alt sistemi, aktarım alt sistemi tarafından sağlanan iletişim temel öğelerini kullanır ve çeşitli düğümleri gerekçe gösterebileceği tek bir birleşik kümeye birleştirir. Hata algılama, öncü seçimi ve tutarlı yönlendirme gibi diğer alt sistemlerin ihtiyaç duyduğu dağıtılmış sistem temel öğelerini sağlar. Federasyon alt sistemi, 128 bit belirteç alanı olan dağıtılmış karma tabloların üzerine kurulmuştur. Alt sistem, düğümler üzerinde bir halka topolojisi oluşturur ve halkadaki her düğüm sahiplik için belirteç alanının bir alt kümesine ayrılır. Hata algılama için katman, kalp atışlarına ve tahkime dayalı bir kiralama mekanizması kullanır. Federasyon alt sistemi ayrıca karmaşık katılım ve kalkış protokolleri aracılığıyla belirtecin herhangi bir zamanda yalnızca tek bir sahibinin mevcut olduğunu garanti eder. Bu, öncü seçimi ve tutarlı yönlendirme garantileri sağlar.

Güvenilirlik alt sistemi

Güvenilirlik alt sistemi, Bir Service Fabric hizmetinin durumunu Çoğaltıcı, Yük Devretme Yöneticisi ve Resource Balancer kullanarak yüksek oranda kullanılabilir hale getirme mekanizmasını sağlar.

  • Çoğaltıcı, birincil hizmet çoğaltması içindeki durum değişikliklerinin otomatik olarak ikincil çoğaltmalara çoğaltılmasını sağlar ve bir hizmet çoğaltma kümesindeki birincil ve ikincil çoğaltmalar arasında tutarlılığı korur. Çoğaltıcı, çoğaltma kümesindeki çoğaltmalar arasında çekirdek yönetiminden sorumludur. Çoğaltılması gereken işlemlerin listesini almak için yük devretme birimiyle etkileşim kurar ve yeniden yapılandırma aracısı çoğaltma kümesinin yapılandırmasını sağlar. Bu yapılandırma, işlemlerin hangi çoğaltmaların çoğaltılması gerektiğini gösterir. Service Fabric, hizmet durumunu yüksek oranda kullanılabilir ve güvenilir hale getirmek için programlama modeli API'si tarafından kullanılabilen Doku Çoğaltıcısı adlı varsayılan bir çoğaltıcı sağlar.
  • Yük Devretme Yöneticisi, düğümler kümeye eklendiğinde veya kümeden kaldırıldığında yükün kullanılabilir düğümler arasında otomatik olarak yeniden dağıtılmasını sağlar. Kümedeki bir düğüm başarısız olursa, küme kullanılabilirliği korumak için hizmet çoğaltmalarını otomatik olarak yeniden yapılandıracaktır.
  • Resource Manager, kümedeki hata etki alanları arasında hizmet çoğaltmaları yerleştirir ve tüm yük devretme birimlerinin çalışır durumda olmasını sağlar. Resource Manager, en iyi tekdüzen yük dağılımını elde etmek için hizmet kaynaklarını temel alınan paylaşılan küme düğümleri havuzu genelinde dengeler.

Yönetim alt sistemi

Yönetim alt sistemi uçtan uca hizmet ve uygulama yaşam döngüsü yönetimi sağlar. PowerShell cmdlet'leri ve yönetim API'leri, kullanılabilirlik kaybı olmadan uygulamaları sağlamanızı, dağıtmanızı, düzeltme eki uygulamanızı, yükseltmenizi ve sağlamayı kaldırmanızı sağlar. Yönetim alt sistemi bunu aşağıdaki hizmetler aracılığıyla gerçekleştirir.

  • Küme Yöneticisi: Bu, uygulamaları hizmet yerleştirme kısıtlamalarına göre düğümlere yerleştirmek için güvenilirlikten Yük Devretme Yöneticisi ile etkileşim kuran birincil hizmettir. Yük devretme alt sistemindeki Resource Manager kısıtlamaların hiçbir zaman bozulmamasını sağlar. Küme yöneticisi, sağlamadan sağlamayı kaldırmaya kadar uygulamaların yaşam döngüsünü yönetir. Yükseltmeler sırasında uygulama kullanılabilirliğinin anlamsal sistem durumu perspektifinden kaybolmamasını sağlamak için sistem durumu yöneticisiyle tümleşir.
  • Health Manager: Bu hizmet uygulamaların, hizmetlerin ve küme varlıklarının sistem durumunun izlenmesini sağlar. Küme varlıkları (düğümler, hizmet bölümleri ve çoğaltmalar gibi) sistem durumu bilgilerini raporlayabilir ve bu bilgiler merkezi sistem durumu deposuna toplanır. Bu sistem durumu bilgileri, kümedeki birden çok düğüme dağıtılan hizmetlerin ve düğümlerin genel bir zaman noktası sistem durumu anlık görüntüsünü sağlayarak gerekli düzeltme eylemlerini gerçekleştirmenizi sağlar. Sistem durumu sorgu API'leri, sistem durumu alt sistemine bildirilen sistem durumu olaylarını sorgulamanıza olanak tanır. Sistem durumu sorgu API'leri, sistem durumu deposunda depolanan ham sistem durumu verilerini veya belirli bir küme varlığı için toplanan, yorumlanmış sistem durumu verilerini döndürür.
  • Görüntü Deposu: Bu hizmet, uygulama ikili dosyalarının depolanmasını ve dağıtılmasını sağlar. Bu hizmet, uygulamaların yüklendiği ve buradan indirildiği basit bir dağıtılmış dosya deposu sağlar.

Barındırma alt sistemi

Küme yöneticisi, barındırma alt sistemini (her düğümde çalışan) belirli bir düğüm için hangi hizmetleri yönetmesi gerektiğini bildirir. Barındırma alt sistemi daha sonra bu düğümdeki uygulamanın yaşam döngüsünü yönetir. Çoğaltmaların düzgün yerleştirildiğinden ve iyi durumda olduğundan emin olmak için güvenilirlik ve sistem durumu bileşenleriyle etkileşim kurar.

İletişim alt sistemi

Bu alt sistem, Küme içinde güvenilir mesajlaşma ve Adlandırma hizmeti aracılığıyla hizmet bulma sağlar. Adlandırma hizmeti, hizmet adlarını kümedeki bir konuma çözümler ve kullanıcıların hizmet adlarını ve özelliklerini yönetmesini sağlar. Adlandırma hizmetini kullanarak istemciler, bir hizmet adını çözümlemek ve hizmet meta verilerini almak için kümedeki herhangi bir düğümle güvenli bir şekilde iletişim kurabilir. Service Fabric kullanıcıları, basit bir Adlandırma istemcisi API'sini kullanarak düğüm dinamizmine veya kümenin yeniden boyutlandırılmasına rağmen geçerli ağ konumunu çözümleyebilecek hizmetler ve istemciler geliştirebilir.

Test edilebilirlik alt sistemi

Test edilebilirlik, Service Fabric üzerinde oluşturulan test hizmetleri için özel olarak tasarlanmış bir araç paketidir. Araçlar, bir geliştiricinin anlamlı hataları kolayca oluşturmasına ve bir hizmetin kullanım ömrü boyunca karşılaşacağı çok sayıda durumu ve geçişi denetimli ve güvenli bir şekilde uygulamak ve doğrulamak için test senaryoları çalıştırmasına olanak tanır. Test edilebilirlik ayrıca, kullanılabilirliği kaybetmeden çeşitli olası hatalarda yineleme yapabilen daha uzun testler çalıştırmaya yönelik bir mekanizma da sağlar. Bu size bir üretim içi test ortamı sağlar.