Sdílet prostřednictvím


Přehled terminologie Service Fabric

Azure Service Fabric je platforma distribuovaných systémů usnadňující balení, nasazování a spravování škálovatelných a spolehlivých mikroslužeb. Service Fabric je orchestrátor kontejnerů a procesů, který umožňuje hostovat clustery kdekoli: v Azure, v místním datacentru nebo u libovolného poskytovatele cloudu. K zápisu služeb můžete použít libovolnou architekturu a zvolit, kde se má aplikace spouštět, z více možností prostředí. Tento článek podrobně popisuje terminologii, kterou Service Fabric používá k pochopení termínů používaných v dokumentaci.

Níže uvedená související školicí videa podrobně popisují aplikaci, balení, nasazení, abstrakce a terminologii, kterou Service Fabric používá:

Koncepty infrastruktury

Cluster: Sada virtuálních nebo fyzických počítačů připojených k síti, ve kterých se nasazují a spravují mikroslužby. Clustery je možné škálovat na tisíce počítačů.

Uzel: Počítač nebo virtuální počítač, který je součástí clusteru, se nazývá uzel. Každému uzlu je přiřazen název uzlu (řetězec). Uzly mají vlastnosti, jako jsou například vlastnosti umístění. Každý počítač nebo virtuální počítač má službu FabricHost.exesystému Windows , která se spustí při spuštění a pak spustí dva spustitelné soubory: Fabric.exe a FabricGateway.exe. Uzel tvoří tyto dva spustitelné soubory. V případě testovacích scénářů můžete na jednom počítači nebo virtuálním počítači hostovat více uzlů spuštěním několika instancí Fabric.exe a FabricGateway.exe.

Koncepty aplikací a služeb

Nativní aplikace Service Fabric: Nativní aplikace Service Fabric jsou popsány modelem nativních aplikací (manifesty aplikací a služeb založené na jazyce XML).

Koncepty nativních aplikací Service Fabric

Aplikace: Aplikace je kolekce základních služeb, které provádějí určitou funkci nebo funkce. Životní cyklus každé instance aplikace je možné spravovat nezávisle.

Služba: Služba provádí úplnou a samostatnou funkci a může se spouštět a spouštět nezávisle na jiných službách. Služba se skládá z kódu, konfigurace a dat. Pro každou službu se kód skládá ze spustitelných binárních souborů, konfigurace se skládá z nastavení služby, která se dají načíst za běhu, a data se skládají z libovolných statických dat, která služba využívá.

Typ aplikace: Název/verze přiřazená kolekci typů služeb. Definuje se v ApplicationManifest.xml souboru a vloží se do adresáře balíčku aplikace. Adresář se pak zkopíruje do úložiště imagí clusteru Service Fabric. Pak můžete vytvořit pojmenovanou aplikaci z tohoto typu aplikace v rámci clusteru.

Další informace najdete v článku o modelu aplikací .

Balíček aplikace: Adresář disku obsahující soubor typu ApplicationManifest.xml aplikace. Odkazuje na balíčky služeb pro každý typ služby, který tvoří typ aplikace. Soubory v adresáři balíčku aplikace se zkopírují do úložiště imagí clusteru Service Fabric. Například balíček aplikace pro typ e-mailové aplikace může obsahovat odkazy na balíček front-service, balíček front-end-service a balíček databázové služby.

Pojmenovaná aplikace: Po zkopírování balíčku aplikace do úložiště imagí vytvoříte instanci aplikace v rámci clusteru. Instanci vytvoříte při zadání typu aplikace balíčku aplikace pomocí jeho názvu nebo verze. Každá instance typu aplikace má přiřazený název identifikátoru URI( Uniform Resource Identifier), který vypadá takto: "fabric:/MyNamedApp". V rámci clusteru můžete vytvořit více pojmenovaných aplikací z jednoho typu aplikace. Můžete také vytvářet pojmenované aplikace z různých typů aplikací. Každá pojmenovaná aplikace se spravuje a spravuje nezávisle na verzích.

Typ služby: Název/verze přiřazená balíčkům kódu služby, datovým balíčkům a konfiguračním balíčkům. Typ služby je definován v ServiceManifest.xml souboru a vložen do adresáře balíčku služby. Na adresář balíčku služby pak odkazuje soubor balíčku ApplicationManifest.xml aplikace. V clusteru můžete po vytvoření pojmenované aplikace vytvořit pojmenovanou službu z jednoho z typů služby daného typu aplikace. Soubor typu ServiceManifest.xml služby popisuje službu.

Další informace najdete v článku o modelu aplikací .

Existují dva typy služeb:

  • Bezstavová: Bezstavovou službu použijte, když je trvalý stav služby uložený v externí službě úložiště, jako je Azure Storage, Azure SQL Database nebo Azure Cosmos DB. Pokud služba nemá žádné trvalé úložiště, použijte bezstavovou službu. Například pro službu kalkulačky, kde jsou hodnoty předány službě, se provede výpočet, který tyto hodnoty používá, a pak se vrátí výsledek.
  • Stavový: Stavovou službu použijte, když chcete, aby Service Fabric spravovala stav vaší služby prostřednictvím programovacích modelů Reliable Collections nebo Reliable Actors. Při vytváření pojmenované služby určete, kolik oddílů chcete pro zajištění škálovatelnosti rozdělit. Také určete, kolikrát se má váš stav replikovat mezi uzly kvůli spolehlivosti. Každá pojmenovaná služba má jednu primární repliku a několik sekundárních replik. Stav pojmenované služby upravíte při zápisu do primární repliky. Service Fabric pak tento stav replikuje do všech sekundárních replik, aby byl váš stav synchronizovaný. Service Fabric automaticky zjistí, kdy dojde k selhání primární repliky, a povýší existující sekundární repliku na primární repliku. Service Fabric pak vytvoří novou sekundární repliku.

Repliky nebo instance odkazují na kód (a stav stavových služeb) nasazené a spuštěné služby. Viz Repliky a instance.

Rekonfigurace označuje proces jakékoli změny v sadě replik služby. Viz Rekonfigurace.

Balíček služby: Adresář disku obsahující soubor typu ServiceManifest.xml služby. Tento soubor odkazuje na kód, statická data a balíčky konfigurace pro typ služby. Na soubory v adresáři balíčku služby odkazuje soubor typu ApplicationManifest.xml aplikace. Balíček služby může například odkazovat na kód, statická data a konfigurační balíčky, které tvoří databázovou službu.

Pojmenovaná služba: Po vytvoření pojmenované aplikace můžete v rámci clusteru vytvořit instanci jednoho z jejích typů služeb. Typ služby zadáte pomocí názvu nebo verze. Každá instance typu služby má přiřazený název identifikátoru URI s oborem pod identifikátorem URI pojmenované aplikace. Pokud například vytvoříte "MyDatabase" s názvem služba v rámci aplikace s názvem MyNamedApp, identifikátor URI bude vypadat takto: "fabric:/MyNamedApp/MyDatabase". V pojmenované aplikaci můžete vytvořit několik pojmenovaných služeb. Každá pojmenovaná služba může mít vlastní schéma oddílů a počet instancí nebo replik.

Balíček kódu: Adresář disku obsahující spustitelné soubory typu služby, obvykle soubory EXE/DLL. Na soubory v adresáři balíčku kódu odkazuje soubor typu ServiceManifest.xml služby. Když vytvoříte pojmenovanou službu, balíček kódu se zkopíruje do uzlu nebo uzlů vybraných ke spuštění pojmenované služby. Pak se kód začne spouštět. Existují dva typy spustitelných souborů balíčků kódu:

  • Spustitelné soubory hosta: Spustitelné soubory, které běží v hostitelském operačním systému (Windows nebo Linux) tak, jak jsou. Tyto spustitelné soubory nepropojují ani neodkazují na žádné soubory modulu runtime Service Fabric, a proto nepoužívají žádné programovací modely Service Fabric. Tyto spustitelné soubory nemůžou používat některé funkce Service Fabric, například službu pojmenování pro zjišťování koncových bodů. Spustitelné soubory hosta nemůžou hlásit metriky zatížení, které jsou specifické pro jednotlivé instance služby.
  • Spustitelné soubory hostitele služby: Spustitelné soubory, které používají programovací modely Service Fabric propojením se soubory modulu runtime Service Fabric a povolením funkcí Service Fabric. Pojmenovaná instance služby může například registrovat koncové body ve službě Pojmenování Service Fabric a může také hlásit metriky zatížení.

Datový balíček: Adresář disku, který obsahuje statické datové soubory typu služby jen pro čtení, obvykle soubory fotek, zvuku a videa. Na soubory v adresáři datového balíčku odkazuje soubor typu ServiceManifest.xml služby. Když vytvoříte pojmenovanou službu, balíček dat se zkopíruje do uzlu nebo uzlů vybraných ke spuštění pojmenované služby. Kód se spustí a teď má přístup k datovým souborům.

Konfigurační balíček: Adresář disku, který obsahuje statické konfigurační soubory jen pro čtení typu služby, obvykle textové soubory. Na soubory v adresáři konfiguračního balíčku odkazuje soubor typu ServiceManifest.xml služby. Když vytvoříte pojmenovanou službu, soubory v konfiguračním balíčku se zkopírují do jednoho nebo více uzlů vybraných ke spuštění pojmenované služby. Pak se kód začne spouštět a teď má přístup ke konfiguračním souborům.

Kontejnery: Ve výchozím nastavení Service Fabric nasazuje a aktivuje služby jako procesy. Service Fabric může také nasazovat služby v imagích kontejnerů. Kontejnery jsou virtualizační technologie, která abstrahuje základní operační systém od aplikací. Aplikace a její modul runtime, závislosti a systémové knihovny běží uvnitř kontejneru. Kontejner má úplný privátní přístup k vlastnímu izolovanému zobrazení konstruktorů operačního systému kontejneru. Service Fabric podporuje kontejnery Windows Serveru a Kontejnery Dockeru v Linuxu. Další informace najdete v tématu Service Fabric a kontejnery.

Schéma oddílů: Při vytváření pojmenované služby zadáte schéma oddílů. Služby s velkým množstvím stavu rozdělují data mezi oddíly, což rozloží stav mezi uzly clusteru. Rozdělením dat mezi oddíly se může stav pojmenované služby škálovat. V rámci oddílu mají bezstavové pojmenované služby instance, zatímco stavové pojmenované služby mají repliky. Bezstavové pojmenované služby mají obvykle jenom jeden oddíl, protože nemají žádný interní stav. Instance oddílů zajišťují dostupnost. Pokud jedna instance selže, ostatní instance budou dál normálně fungovat a Service Fabric pak vytvoří novou instanci. Stavové pojmenované služby udržují svůj stav v rámci replik a každý oddíl má svou vlastní sadu replik, takže se stav udržuje synchronizovaný. Pokud dojde k selhání repliky, Service Fabric sestaví novou repliku z existujících replik.

Další informace najdete v článku Věnovaném dělení spolehlivých služeb Service Fabric .

Systémové služby

V každém clusteru se vytvářejí systémové služby, které poskytují možnosti platformy Service Fabric.

Služba pojmenování: Každý cluster Service Fabric má službu pojmenování, která překládá názvy služeb na umístění v clusteru. Spravujete názvy a vlastnosti služeb, jako je internetový systém DNS (Domain Name System) pro cluster. Klienti bezpečně komunikují s libovolným uzlem v clusteru pomocí služby Naming Service k překladu názvu služby a jejího umístění. Aplikace se přesunují v rámci clusteru. Příčinou můžou být například selhání, vyrovnávání prostředků nebo změna velikosti clusteru. Můžete vyvíjet služby a klienty, kteří přeloží aktuální síťové umístění. Klienti získají skutečnou IP adresu počítače a port, na kterém je aktuálně spuštěný.

Další informace o rozhraních API pro komunikaci klienta a služby, která fungují se službou Naming Service, najdete v tématu Komunikace se službami .

Služba Úložiště imagí: Každý cluster Service Fabric má službu Úložiště imagí, ve které se uchovávají nasazené balíčky aplikací s verzemi. Zkopírujte balíček aplikace do úložiště imagí a zaregistrujte typ aplikace obsažený v tomto balíčku aplikace. Po zřízení typu aplikace z něj vytvoříte pojmenovanou aplikaci. Po odstranění všech pojmenovaných aplikací můžete registraci typu aplikace ze služby Image Store zrušit.

Další informace o službě Image Store najdete v tématu Vysvětlení nastavení ImageStoreConnectionString .

Další informace o nasazení aplikací do služby Image Store najdete v článku Nasazení aplikace .

Služba Správce převzetí služeb při selhání: Každý cluster Service Fabric má službu Správce převzetí služeb při selhání, která je zodpovědná za následující akce:

  • Provádí funkce související s vysokou dostupností a konzistencí služeb.
  • Orchestruje upgrady aplikací a clusterů.
  • Komunikuje s dalšími součástmi systému.

Služba Správce oprav: Jedná se o volitelnou systémovou službu, která umožňuje provádět opravné akce v clusteru bezpečným, automatizovaným a transparentním způsobem. Správce oprav se používá v:

Modely nasazení a aplikací

Pokud chcete služby nasadit, musíte popsat, jak se mají spouštět. Service Fabric podporuje tři různé modely nasazení:

Nativní model

Model nativních aplikací poskytuje vašim aplikacím úplný přístup na nízké úrovni ke Službě Service Fabric. Aplikace a služby jsou v souborech manifestu XML definované jako registrované typy.

Nativní model podporuje architektury Reliable Services a Reliable Actors, které poskytují přístup k rozhraním API modulu runtime Service Fabric a rozhraním API pro správu clusterů v C# a Javě. Nativní model také podporuje libovolné kontejnery a spustitelné soubory.

Reliable Services: Rozhraní API pro vytváření bezstavových a stavových služeb. Stavové služby ukládají svůj stav do spolehlivých kolekcí, jako je slovník nebo fronta. Můžete také připojit různé komunikační zásobníky, například webové rozhraní API a windows communication foundation (WCF).

Reliable Actors: Rozhraní API pro vytváření bezstavových a stavových objektů prostřednictvím programovacího modelu virtuálního objektu Actor. Tento model je užitečný, pokud máte velké množství nezávislých výpočetních nebo stavových jednotek. Tento model používá tahový model vláken, takže je nejlepší se vyhnout kódu, který volá jiné aktéry nebo služby, protože jednotlivý aktér nemůže zpracovat další příchozí požadavky, dokud se nedokončí všechny odchozí požadavky.

Stávající aplikace můžete také spouštět v Service Fabric:

Kontejnery: Service Fabric podporuje nasazení kontejnerů Dockeru v kontejnerech s Linuxem a Windows Serverem na Windows Server 2016 spolu s podporou režimu izolace Hyper-V. V aplikačním modelu Service Fabric kontejner představuje hostitele aplikace, ve kterém je umístěno více replik služby. Service Fabric může spouštět libovolné kontejnery a tento scénář se podobá scénáři spustitelného souboru hosta, kdy do kontejneru zabalíte existující aplikaci. Kromě toho můžete služby Service Fabric spouštět také uvnitř kontejnerů .

Spustitelné soubory typu host: V Azure Service Fabric můžete jako službu spustit libovolný typ kódu, například Node.js, Python, Javu nebo C++. Service Fabric tyto typy služeb označuje jako spustitelné soubory hosta, které se považují za bezstavové služby. Mezi výhody spuštění spustitelného souboru hosta v clusteru Service Fabric patří vysoká dostupnost, monitorování stavu, správa životního cyklu aplikací, vysoká hustota a zjistitelnost.

Další informace najdete v článku Volba programovacího modelu služby .

Docker Compose

Docker Compose je součástí projektu Docker. Service Fabric poskytuje omezenou podporu pro nasazování aplikací pomocí modelu Docker Compose.

Prostředí

Service Fabric je opensourcová technologie platformy, na které je založeno několik různých služeb a produktů. Společnost Microsoft poskytuje následující možnosti:

  • Azure Service Fabric: Nabídka clusteru Service Fabric hostovaného v Azure. Poskytuje integraci mezi Service Fabric a infrastrukturou Azure spolu se správou upgradu a konfigurace clusterů Service Fabric.
  • Samostatná služba Service Fabric: Sada instalačních a konfiguračních nástrojů pro nasazení clusterů Service Fabric kdekoli (místně nebo u libovolného poskytovatele cloudu). Nespravuje se v Azure.
  • Vývojový cluster Service Fabric: Poskytuje místní vývojové prostředí pro Windows, Linux nebo Mac pro vývoj aplikací Service Fabric.

Další kroky

Další informace o Service Fabric: