Service Fabric terminolojiye genel bakış

Azure Service Fabric; ölçeklenebilir ve güvenilir mikro hizmetleri paketlemeyi, dağıtmayı ve yönetmeyi kolaylaştırmayı sağlayan bir dağıtılmış sistemler platformudur. Service Fabric, kümelerinizi Azure'da, şirket içi veri merkezinde veya herhangi bir bulut sağlayıcısında barındırmanıza olanak tanıyan bir kapsayıcı ve işlem düzenleyicidir. Hizmetlerinizi yazmak ve birden çok ortam seçeneğinden uygulamanın nerede çalıştırileceğini seçmek için herhangi bir çerçeve kullanabilirsiniz. Bu makalede, belgelerde kullanılan terimleri anlamak için Service Fabric tarafından kullanılan terminoloji ayrıntılı olarak açıklanmıştır.

Aşağıda bahsedilen ilgili eğitim videoları Service Fabric tarafından kullanılan uygulama, paketleme, dağıtım, soyutlamalar ve terminoloji hakkında ayrıntılı bilgi sağlar:

Altyapı kavramları

Küme: Mikro hizmetlerinizin dağıtıldığı ve yönetildiği ağa bağlı sanal veya fiziksel makine kümesi. Kümeler binlerce makine içerecek şekilde ölçeklendirilebilir.

Düğüm: Kümenin parçası olan makine veya VM'ye düğüm adı verilir. Her düğüme bir düğüm adı (dize) atanır. Düğümler, yerleştirme özellikleri gibi özelliklere sahiptir. Her makinede veya VM'de önyükleme FabricHost.exesonrasında çalışmaya başlayan ve ardından iki yürütülebilir dosya başlatan bir otomatik başlatma Windows hizmeti vardır: Fabric.exe ve FabricGateway.exe. Bu iki yürütülebilir dosya düğümü oluşturur. Test senaryoları için ve 'nin birden çok örneğini Fabric.exe FabricGateway.exeçalıştırarak tek bir makinede veya VM'de birden çok düğüm barındırabilirsiniz.

Uygulama ve hizmet kavramları

Service Fabric Yerel Uygulaması: Service Fabric Yerel Uygulamaları, Yerel Uygulama Modeli (XML tabanlı uygulama ve hizmet bildirimleri) tarafından açıklanır.

Service Fabric Yerel Uygulama kavramları

Uygulama: Uygulama, belirli bir işlevi veya işlevi gerçekleştiren bir bağlı hizmet koleksiyonudur. Her uygulama örneğinin yaşam döngüsü bağımsız olarak yönetilebilir.

Hizmet: Bir hizmet eksiksiz ve tek başına bir işlev gerçekleştirir ve diğer hizmetlerden bağımsız olarak başlatılabilir ve çalıştırılabilir. Hizmet kod, yapılandırma ve verilerden oluşur. Her hizmet için kod yürütülebilir ikili dosyalardan, yapılandırma çalışma zamanında yüklenebilen hizmet ayarlarından ve veriler de hizmet tarafından kullanılacak rastgele statik verilerden oluşur.

Uygulama türü: Hizmet türleri koleksiyonuna atanan ad/sürüm. Bir dosyada ApplicationManifest.xml tanımlanır ve uygulama paketi dizinine eklenir. Ardından dizin Service Fabric kümesinin görüntü deposuna kopyalanır. Ardından küme içindeki bu uygulama türünden adlandırılmış bir uygulama oluşturabilirsiniz.

Daha fazla bilgi için Uygulama modeli makalesini okuyun.

Uygulama paketi: Uygulama türünün ApplicationManifest.xml dosyasını içeren bir disk dizini. Uygulama türünü oluşturan her hizmet türü için hizmet paketlerine başvurur. Uygulama paketi dizinindeki dosyalar Service Fabric kümesinin görüntü deposuna kopyalanır. Örneğin, e-posta uygulama türü için bir uygulama paketi kuyruk hizmeti paketine, ön uç hizmet paketine ve veritabanı hizmeti paketine başvurular içerebilir.

Adlandırılmış uygulama: Bir uygulama paketini görüntü deposuna kopyaladıktan sonra, küme içinde uygulamanın bir örneğini oluşturursunuz. Uygulama paketinin uygulama türünü belirtirken adını veya sürümünü kullanarak bir örnek oluşturursunuz. Her uygulama türü örneğine şuna benzer bir tekdüzen kaynak tanımlayıcısı (URI) adı atanır: "fabric:/MyNamedApp". Küme içinde, tek bir uygulama türünden birden çok adlandırılmış uygulama oluşturabilirsiniz. Farklı uygulama türlerinden adlandırılmış uygulamalar da oluşturabilirsiniz. Her adlandırılmış uygulama bağımsız olarak yönetilir ve sürümü oluşturulur.

Hizmet türü: Hizmetin kod paketlerine, veri paketlerine ve yapılandırma paketlerine atanan ad/sürüm. Hizmet türü dosyasında tanımlanır ServiceManifest.xml ve bir hizmet paketi dizinine eklenir. Hizmet paketi dizinine daha sonra bir uygulama paketinin ApplicationManifest.xml dosyası tarafından başvurulur. Küme içinde, adlandırılmış bir uygulama oluşturduktan sonra, uygulama türünün hizmet türlerinden birinden adlandırılmış bir hizmet oluşturabilirsiniz. Hizmet türünün ServiceManifest.xml dosyası hizmeti açıklar.

Daha fazla bilgi için Uygulama modeli makalesini okuyun.

İki tür hizmet vardır:

  • Durum bilgisi olmayan: Hizmetin kalıcı durumu Azure Depolama, Azure SQL Veritabanı veya Azure Cosmos DB gibi bir dış depolama hizmetinde depolandığında durum bilgisi olmayan bir hizmet kullanın. Hizmetin kalıcı depolama alanı olmadığında durum bilgisi olmayan bir hizmet kullanın. Örneğin, değerlerin hizmete geçirildiği bir hesap makinesi hizmeti için, bu değerleri kullanan bir hesaplama gerçekleştirilir ve ardından bir sonuç döndürülür.
  • Durum bilgisi olan: Service Fabric'in Güvenilir Koleksiyonlar veya Reliable Actors programlama modelleri aracılığıyla hizmetinizin durumunu yönetmesini istediğinizde durum bilgisi olan bir hizmet kullanın. Adlandırılmış bir hizmet oluşturduğunuzda, ölçeklenebilirlik için durumunuzu kaç bölüme yaymak istediğinizi belirtin. Ayrıca güvenilirlik için durumunuzu düğümler arasında kaç kez çoğaltılacağını belirtin. Her adlandırılmış hizmetin tek bir birincil çoğaltması ve birden çok ikincil çoğaltması vardır. Birincil çoğaltmaya yazarken adlandırılmış hizmetinizin durumunu değiştirirsiniz. Ardından Service Fabric, durumunuzu eşitlenmiş durumda tutmak için bu durumu tüm ikincil çoğaltmalara çoğaltır. Service Fabric, birincil çoğaltmanın başarısız olduğunu otomatik olarak algılar ve var olan bir ikincil çoğaltmayı birincil çoğaltmaya yükseltir. Ardından Service Fabric yeni bir ikincil çoğaltma oluşturur.

Çoğaltmalar veya örnekler , dağıtılan ve çalışan bir hizmetin koduna (ve durum bilgisi olan hizmetlerin durumuna) başvurur. Bkz . Çoğaltmalar ve örnekler.

Yeniden yapılandırma , bir hizmetin çoğaltma kümesindeki herhangi bir değişikliğin işlemini ifade eder. Bkz. Yeniden Yapılandırma.

Hizmet paketi: Hizmet türünün ServiceManifest.xml dosyasını içeren bir disk dizini. Bu dosya hizmet türü için koda, statik verilere ve yapılandırma paketlerine başvurur. Hizmet paketi dizinindeki dosyalara uygulama türünün ApplicationManifest.xml dosyası tarafından başvurulur. Örneğin, bir hizmet paketi bir veritabanı hizmetini oluşturan koda, statik verilere ve yapılandırma paketlerine başvurabilir.

Adlandırılmış hizmet: Adlandırılmış bir uygulama oluşturduktan sonra, küme içindeki hizmet türlerinden birinin örneğini oluşturabilirsiniz. Hizmet türünü adını/sürümünü kullanarak belirtirsiniz. Her hizmet türü örneğine, adlandırılmış uygulamanın URI'sinde kapsamı belirlenmiş bir URI adı atanır. Örneğin, "MyNamedApp" adlı bir uygulama içinde "MyDatabase" adlı bir hizmet oluşturursanız, URI şöyle görünür: "fabric:/MyNamedApp/MyDatabase". Adlandırılmış bir uygulama içinde birkaç adlandırılmış hizmet oluşturabilirsiniz. Adlandırılmış her hizmetin kendi bölüm düzeni ve örneği veya çoğaltma sayıları olabilir.

Kod paketi: Hizmet türünün yürütülebilir dosyalarını (genellikle EXE/DLL dosyaları) içeren bir disk dizini. Kod paketi dizinindeki dosyalara hizmet türünün ServiceManifest.xml dosyası tarafından başvurulur. Adlandırılmış bir hizmet oluşturduğunuzda, kod paketi adlandırılmış hizmeti çalıştırmak için seçilen düğüme veya düğümlere kopyalanır. Ardından kod çalışmaya başlar. İki tür kod paketi yürütülebilir dosyası vardır:

  • Konuk yürütülebilir dosyaları: Konak işletim sisteminde (Windows veya Linux) olduğu gibi çalışan yürütülebilir dosyalar. Bu yürütülebilir dosyalar Service Fabric çalışma zamanı dosyalarına bağlanmaz veya bunlara başvurmaz ve bu nedenle service Fabric programlama modeli kullanmaz. Bu yürütülebilir dosyalar, uç nokta bulma için adlandırma hizmeti gibi bazı Service Fabric özelliklerini kullanamıyor. Konuk yürütülebilir dosyaları, her hizmet örneğine özgü yük ölçümlerini raporlayamaz.
  • Hizmet konağı yürütülebilir dosyaları: Service Fabric çalışma zamanı dosyalarına bağlanarak Service Fabric programlama modellerini kullanan yürütülebilir dosyalar, Service Fabric özelliklerini etkinleştirir. Örneğin, adlandırılmış bir hizmet örneği uç noktaları Service Fabric Adlandırma Hizmeti'ne kaydedebilir ve ayrıca yük ölçümlerini bildirebilir.

Veri paketi: Hizmet türünün statik, salt okunur veri dosyalarını (genellikle fotoğraf, ses ve video dosyaları) içeren bir disk dizini. Veri paketi dizinindeki dosyalara hizmet türünün ServiceManifest.xml dosyası tarafından başvurulur. Adlandırılmış bir hizmet oluşturduğunuzda, veri paketi adlandırılmış hizmeti çalıştırmak için seçilen düğüme veya düğümlere kopyalanır. Kod çalışmaya başlar ve artık veri dosyalarına erişebilir.

Yapılandırma paketi: Hizmet türünün statik, salt okunur yapılandırma dosyalarını ( genellikle metin dosyalarını) içeren bir disk dizini. Yapılandırma paketi dizinindeki dosyalara hizmet türünün ServiceManifest.xml dosyası tarafından başvurulur. Adlandırılmış bir hizmet oluşturduğunuzda, yapılandırma paketindeki dosyalar adlandırılmış hizmeti çalıştırmak için seçilen bir veya daha fazla düğüme kopyalanır. Ardından kod çalışmaya başlar ve artık yapılandırma dosyalarına erişebilir.

Kapsayıcılar: Service Fabric varsayılan olarak hizmetleri işlem olarak dağıtır ve etkinleştirir. Service Fabric kapsayıcı görüntülerinde de hizmet dağıtabilir. Kapsayıcılar, temel alınan işletim sistemini uygulamalardan soyutlayan bir sanallaştırma teknolojisidir. Bir uygulama ve çalışma zamanı, bağımlılıkları ve sistem kitaplıkları bir kapsayıcı içinde çalışır. Kapsayıcı, işletim sistemi yapılarının kapsayıcının kendi yalıtılmış görünümüne tam ve özel erişime sahiptir. Service Fabric, Linux üzerinde Windows Server kapsayıcılarını ve Docker kapsayıcılarını destekler. Daha fazla bilgi için Bkz . Service Fabric ve kapsayıcılar.

Bölüm düzeni: Adlandırılmış bir hizmet oluşturduğunuzda, bir bölüm düzeni belirtirsiniz. Önemli miktarda durumu olan hizmetler verileri bölümlere böler ve bu da durumu kümenin düğümlerine yayar. Verileri bölümlere ayırarak adlandırılmış hizmetinizin durumu ölçeklendirilebilir. Bir bölümde durum bilgisi olmayan adlandırılmış hizmetler örneklerine sahipken durum bilgisi olan adlandırılmış hizmetlerin çoğaltmaları vardır. Genellikle, durum bilgisi olmayan adlandırılmış hizmetler yalnızca bir bölüme sahiptir çünkü iç durumlarına sahip değildir. Bölüm örnekleri kullanılabilirlik sağlar. Bir örnek başarısız olursa, diğer örnekler normal çalışmaya devam eder ve Service Fabric yeni bir örnek oluşturur. Durum bilgisi olan adlandırılmış hizmetler, çoğaltmalar içinde durumlarını korur ve her bölümün kendi çoğaltma kümesi vardır, bu nedenle durum eşitlenmiş durumda tutulur. Bir çoğaltma başarısız olursa, Service Fabric mevcut çoğaltmalardan yeni bir çoğaltma oluşturur.

Daha fazla bilgi için Partition Service Fabric reliable services makalesini okuyun.

Sistem hizmetleri

Service Fabric'in platform özelliklerini sağlayan her kümede oluşturulan sistem hizmetleri vardır.

Adlandırma Hizmeti: Her Service Fabric kümesinin, hizmet adlarını kümedeki bir konuma çözümleyen bir Adlandırma Hizmeti vardır. Küme için İnternet Etki Alanı Adı Sistemi (DNS) gibi hizmet adlarını ve özelliklerini yönetirsiniz. İstemciler, bir hizmet adını ve konumunu çözümlemek için Adlandırma Hizmeti'ni kullanarak kümedeki herhangi bir düğümle güvenli bir şekilde iletişim kurar. Uygulamalar küme içinde hareket eder. Örneğin, bu hatalardan, kaynak dengelemeden veya kümenin yeniden boyutlandırılmasından kaynaklanıyor olabilir. Geçerli ağ konumunu çözümleyen hizmetler ve istemciler geliştirebilirsiniz. İstemciler, şu anda çalışmakta olduğu gerçek makine IP adresini ve bağlantı noktasını alır.

Adlandırma Hizmeti ile çalışan istemci ve hizmet iletişim API'leri hakkında daha fazla bilgi için Bkz . Hizmetlerle iletişim kurma.

Görüntü Deposu hizmeti: Her Service Fabric kümesinin dağıtılan, sürümlenmiş uygulama paketlerinin tutulduğu bir Görüntü Deposu hizmeti vardır. Bir uygulama paketini Görüntü Deposu'na kopyalayın ve ardından bu uygulama paketinin içinde yer alan uygulama türünü kaydedin. Uygulama türü sağlandıktan sonra, ondan adlandırılmış bir uygulama oluşturursunuz. Adlandırılmış tüm uygulamaları silindikten sonra Görüntü Deposu hizmetinden bir uygulama türünün kaydını kaldırabilirsiniz.

Görüntü Deposu hizmeti hakkında daha fazla bilgi için ImageStoreConnectionString ayarını anlama bölümüne bakın.

Görüntü Deposu hizmetine uygulama dağıtma hakkında daha fazla bilgi için Uygulama dağıtma makalesini okuyun.

Yük Devretme Yöneticisi hizmeti: Her Service Fabric kümesinin aşağıdaki eylemlerden sorumlu bir Yük Devretme Yöneticisi hizmeti vardır:

  • Hizmetlerin yüksek kullanılabilirliği ve tutarlılığı ile ilgili işlevler gerçekleştirir.
  • Uygulama ve küme yükseltmelerini düzenler.
  • Diğer sistem bileşenleriyle etkileşim kurar.

Onarım Yöneticisi hizmeti: Bu, bir kümede güvenli, otomatik olarak oluşturulabilen ve saydam bir şekilde onarım eylemlerinin gerçekleştirilmesini sağlayan isteğe bağlı bir sistem hizmetidir. Onarım yöneticisi şu durumlarda kullanılır:

Dağıtım ve uygulama modelleri

Hizmetlerinizi dağıtmak için bunların nasıl çalışması gerektiğini açıklamanız gerekir. Service Fabric üç farklı dağıtım modeli destekler:

Yerel model

Yerel uygulama modeli, uygulamalarınıza Service Fabric'e tam alt düzey erişim sağlar. Uygulamalar ve hizmetler, XML bildirim dosyalarında kayıtlı türler olarak tanımlanır.

Yerel model, C# ve Java'da Service Fabric çalışma zamanı API'lerine ve küme yönetimi API'lerine erişim sağlayan Reliable Services ve Reliable Actors çerçevelerini destekler. Yerel model rastgele kapsayıcıları ve yürütülebilir dosyaları da destekler.

Reliable Services: Durum bilgisi olmayan ve durum bilgisi olan hizmetler oluşturmaya yönelik bir API. Durum bilgisi olan hizmetler, durumlarını sözlük veya kuyruk gibi Güvenilir Koleksiyonlar'da depolar. Ayrıca Web API'si ve Windows Communication Foundation (WCF) gibi çeşitli iletişim yığınlarını da takabilirsiniz.

Reliable Actors: Sanal Aktör programlama modeli aracılığıyla durum bilgisi olmayan ve durum bilgisi olan nesneler oluşturmaya yönelik bir API. Bu model, çok sayıda bağımsız hesaplama biriminiz veya durumunuz olduğunda kullanışlıdır. Bu model sıra tabanlı bir iş parçacığı modeli kullandığından, tek bir aktör tüm giden istekleri tamamlanana kadar diğer gelen istekleri işleyemediğinden diğer aktörlere veya hizmetlere çağrıda bulunan kodlardan kaçınmak en iyisidir.

Mevcut uygulamalarınızı Service Fabric'te de çalıştırabilirsiniz:

Kapsayıcılar: Service Fabric, Hyper-V yalıtım modu desteğiyle birlikte Windows Server 2016'da Linux ve Windows Server kapsayıcılarında Docker kapsayıcılarının dağıtımını destekler. Service Fabric uygulama modelinde kapsayıcı, birden çok hizmet çoğaltmasının yerleştirildiği bir uygulama konasını temsil eder. Service Fabric herhangi bir kapsayıcıyı çalıştırabilir ve senaryo, kapsayıcı içinde var olan bir uygulamayı paketlediğiniz konuk yürütülebilir senaryosuna benzer. Ayrıca, Service Fabric hizmetlerini kapsayıcılar içinde de çalıştırabilirsiniz.

Konuk yürütülebilir dosyaları: Hizmet olarak Azure Service Fabric'te Node.js, Python, Java veya C++ gibi herhangi bir kod türünü çalıştırabilirsiniz. Service Fabric, bu tür hizmetleri durum bilgisi olmayan hizmetler olarak ele alınan konuk yürütülebilir dosyaları olarak ifade eder. Service Fabric kümesinde konuk yürütülebilir dosyası çalıştırmanın avantajları yüksek kullanılabilirlik, sistem durumu izleme, uygulama yaşam döngüsü yönetimi, yüksek yoğunluk ve bulunabilirliktir.

Daha fazla bilgi için Hizmetiniz için programlama modeli seçme makalesini okuyun.

Docker Compose

Docker Compose , Docker projesinin bir parçasıdır. Service Fabric, Docker Compose modelini kullanarak uygulama dağıtmak için sınırlı destek sağlar.

Ortamlar

Service Fabric, birkaç farklı hizmet ve ürünün temel alındığı bir açık kaynak platform teknolojisidir. Microsoft aşağıdaki seçenekleri sağlar:

  • Azure Service Fabric: Azure'da barındırılan Service Fabric kümesi teklifi. Service Fabric kümelerinin yükseltme ve yapılandırma yönetimiyle birlikte Service Fabric ile Azure altyapısı arasında tümleştirme sağlar.
  • Service Fabric tek başına: Service Fabric kümelerini her yere (şirket içinde veya herhangi bir bulut sağlayıcısında) dağıtmak için bir dizi yükleme ve yapılandırma aracı. Azure tarafından yönetilmiyor.
  • Service Fabric geliştirme kümesi: Service Fabric uygulamalarının geliştirilmesi için Windows, Linux veya Mac üzerinde yerel bir geliştirme deneyimi sağlar.

Sonraki adımlar

Service Fabric hakkında daha fazla bilgi edinmek için: