A Service Fabric terminológiája – áttekintés

Az Azure Service Fabric egy elosztott rendszerplatform, amely megkönnyíti a skálázható és megbízható mikroszolgáltatások csomagolását, üzembe helyezését és kezelését. A Service Fabric egy tároló- és folyamatvezénylő, amely lehetővé teszi a fürtök üzemeltetését bárhol: az Azure-ban, egy helyszíni adatközpontban vagy bármely felhőszolgáltatón. Bármilyen keretrendszer használatával megírhatja a szolgáltatásokat, és kiválaszthatja, hogy hol futtassa az alkalmazást több környezeti lehetőség közül. Ez a cikk a Service Fabric által a dokumentációban használt kifejezések értelmezéséhez használt terminológiát ismerteti.

Az alább említett kapcsolódó oktatóvideók részletesen bemutatják a Service Fabric által használt alkalmazást, csomagolást, üzembe helyezést, absztrakciókat és terminológiát:

Infrastruktúra-fogalmak

Fürt: Virtuális vagy fizikai gépek hálózattal csatlakoztatott készlete, amelybe a mikroszolgáltatások üzembe helyezése és felügyelete is be van állítva. A fürtök több ezer gépre skálázhatók.

Csomópont: A fürt részét képező gépet vagy virtuális gépet csomópontnak nevezzük. Minden csomóponthoz hozzá van rendelve egy csomópontnév (sztring). A csomópontok jellemzőkkel, például elhelyezési tulajdonságokkal rendelkeznek. Minden gép vagy virtuális gép rendelkezik egy automatikus indítású Windows-szolgáltatással, FabricHost.exeamely a rendszerindításkor elindul, majd elindít két végrehajtható fájlt: Fabric.exe és FabricGateway.exe. Ez a két végrehajtható fájl alkotja a csomópontot. Tesztelési forgatókönyvek esetén több csomópontot is üzemeltethet egyetlen gépen vagy virtuális gépen a és FabricGateway.exetöbb példányának Fabric.exe futtatásával.

Alkalmazás- és szolgáltatásfogalmak

Service Fabric natív alkalmazás: A natív Service Fabric-alkalmazásokat a natív alkalmazásmodell (XML-alapú alkalmazás- és szolgáltatásjegyzékek) ismerteti.

A Service Fabric natív alkalmazással kapcsolatos fogalmai

Alkalmazás: Az alkalmazás olyan rendszerösszetevő szolgáltatások gyűjteménye, amelyek egy bizonyos funkciót vagy függvényt hajtanak végre. Az egyes alkalmazáspéldányok életciklusa egymástól függetlenül kezelhető.

Szolgáltatás: A szolgáltatás teljes és önálló funkciót végez, és más szolgáltatásoktól függetlenül indítható és futtatható. A szolgáltatások kódból, konfigurációból és adatokból állnak. Minden szolgáltatás esetében a kód a végrehajtható bináris fájlokból áll, a konfiguráció a futtatáskor betölthető szolgáltatásbeállításokból, az adatok pedig a szolgáltatás által felhasználandó tetszőleges statikus adatokból állnak.

Alkalmazás típusa: A szolgáltatástípusok gyűjteményéhez rendelt név/verzió. Egy fájlban ApplicationManifest.xml van definiálva, és egy alkalmazáscsomag könyvtárába van beágyazva. A könyvtár ezután át lesz másolva a Service Fabric-fürt lemezképtárolójába. Ezután létrehozhat egy nevesített alkalmazást ebből az alkalmazástípusból a fürtön belül.

További információért olvassa el az Alkalmazásmodell című cikket.

Alkalmazáscsomag: Az alkalmazástípus fájlját ApplicationManifest.xml tartalmazó lemezkönyvtár. Az alkalmazástípust alkotó egyes szolgáltatástípusok szolgáltatáscsomagjaira hivatkozik. Az alkalmazáscsomag könyvtárában lévő fájlokat a rendszer a Service Fabric-fürt lemezképtárolójába másolja. Egy e-mail-alkalmazástípus alkalmazáscsomagja például tartalmazhat egy üzenetsor-szolgáltatási csomagra, egy előtér-szolgáltatási csomagra és egy adatbázis-szolgáltatási csomagra mutató hivatkozásokat.

Nevesített alkalmazás: Miután átmásolta az alkalmazáscsomagot a lemezképtárolóba, létre kell hoznia az alkalmazás egy példányát a fürtben. Az alkalmazáscsomag alkalmazástípusának megadásakor létre kell hoznia egy példányt a nevével vagy verziójával. Minden alkalmazástípus-példányhoz egy egységes erőforrás-azonosító (URI) név van hozzárendelve, amely a következőhöz hasonló: "fabric:/MyNamedApp". Egy fürtön belül több elnevezett alkalmazást is létrehozhat egyetlen alkalmazástípusból. A nevesített alkalmazásokat különböző alkalmazástípusokból is létrehozhatja. Az egyes nevesített alkalmazások egymástól függetlenül kezelhetők és verziószámozottak.

Szolgáltatás típusa: A szolgáltatás kódcsomagjaihoz, adatcsomagjaihoz és konfigurációs csomagjaihoz rendelt név/verzió. A szolgáltatástípus a ServiceManifest.xml fájlban van definiálva, és egy szolgáltatáscsomag-könyvtárba van beágyazva. A szolgáltatáscsomag könyvtárára ezután egy alkalmazáscsomag fájlja hivatkozik ApplicationManifest.xml . A fürtön belül egy nevesített alkalmazás létrehozása után létrehozhat egy nevesített szolgáltatást az alkalmazástípus egyik szolgáltatástípusából. A szolgáltatástípus fájlja ServiceManifest.xml leírja a szolgáltatást.

További információért olvassa el az Alkalmazásmodell című cikket.

Kétféle szolgáltatás létezik:

  • Állapot nélküli: Állapot nélküli szolgáltatást akkor használjon, ha a szolgáltatás állandó állapotát egy külső tárolószolgáltatás tárolja, például az Azure Storage, a Azure SQL Database vagy az Azure Cosmos DB. Állapot nélküli szolgáltatást akkor használjon, ha a szolgáltatásnak nincs állandó tárterülete. Például egy olyan számológép-szolgáltatás esetében, ahol az értékek a szolgáltatásnak vannak átadva, a rendszer számítást végez, amely ezeket az értékeket használja, majd visszaad egy eredményt.
  • Állapotalapú: Akkor használjon állapotalapú szolgáltatást, ha azt szeretné, hogy a Service Fabric a Reliable Collections vagy a Reliable Actors programozási modelljei segítségével kezelje a szolgáltatás állapotát. Nevesített szolgáltatás létrehozásakor adja meg, hogy hány partíción szeretné elosztani az állapotot a méretezhetőség érdekében. Adja meg azt is, hogy a megbízhatóság érdekében hányszor replikálja az állapotot csomópontok között. Minden megnevezett szolgáltatás egyetlen elsődleges replikával és több másodlagos replikával rendelkezik. Az elsődleges replikára való íráskor módosíthatja a nevesített szolgáltatás állapotát. A Service Fabric ezután replikálja ezt az állapotot az összes másodlagos replikára, hogy az állapot szinkronban maradjon. A Service Fabric automatikusan észleli, ha egy elsődleges replika meghibásodik, és előléptet egy meglévő másodlagos replikát egy elsődleges replikára. A Service Fabric ezután létrehoz egy új másodlagos replikát.

A replikák vagy példányok az üzembe helyezett és futó szolgáltatások kódjára (és állapotára) hivatkoznak. Lásd: Replikák és példányok.

Az újrakonfigurálás a szolgáltatás replikakészletében bekövetkező bármilyen változás folyamatát jelenti. Lásd: Újrakonfigurálás.

Szolgáltatáscsomag: A szolgáltatástípus fájlját ServiceManifest.xml tartalmazó lemezkönyvtár. Ez a fájl a szolgáltatástípus kódjára, statikus adataira és konfigurációs csomagjaira hivatkozik. A szolgáltatáscsomag könyvtárában található fájlokra az alkalmazástípus fájlja hivatkozik ApplicationManifest.xml . Egy szolgáltatáscsomag például hivatkozhat az adatbázis-szolgáltatást alkotó kódra, statikus adatokra és konfigurációs csomagokra.

Nevesített szolgáltatás: Miután létrehozott egy nevesített alkalmazást, létrehozhatja az egyik szolgáltatástípusának egy példányát a fürtön belül. A szolgáltatás típusát a nevével/verziójával adhatja meg. Minden szolgáltatástípus-példányhoz hozzá van rendelve egy URI-név, amely a nevesített alkalmazás URI-ja alatt található. Ha például létrehoz egy "MyDatabase" nevű szolgáltatást egy "MyNamedApp" nevű alkalmazásban, az URI a következőképpen néz ki: "fabric:/MyNamedApp/MyDatabase". Egy nevesített alkalmazásban több nevesített szolgáltatást is létrehozhat. Minden megnevezett szolgáltatás saját partíciósémával és példány- vagy replikaszámokkal rendelkezhet.

Kódcsomag: A szolgáltatástípus végrehajtható fájljait, általában EXE/DLL fájlokat tartalmazó lemezkönyvtár. A kódcsomag könyvtárában található fájlokra a szolgáltatástípus fájlja hivatkozik ServiceManifest.xml . Névvel ellátott szolgáltatás létrehozásakor a kódcsomag a megnevezett szolgáltatás futtatásához kiválasztott csomópontra vagy csomópontokra lesz másolva. Ezután elindul a kód futtatása. Kétféle kódcsomag-végrehajtható fájl létezik:

  • Vendég végrehajtható fájlok: A gazda operációs rendszeren (Windows vagy Linux) futó végrehajtható fájlok. Ezek a végrehajtható fájlok nem hivatkoznak service fabric-futtatókörnyezeti fájlokra, és nem használnak Service Fabric-programozási modelleket. Ezek a végrehajtható fájlok nem tudják használni bizonyos Service Fabric-funkciókat, például az elnevezési szolgáltatást a végpontfelderítéshez. A vendég végrehajtható fájlok nem tudnak jelentést adni az egyes szolgáltatáspéldányokra jellemző terhelési metrikákról.
  • Szolgáltatásgazda végrehajtható fájljai: Service Fabric-programozási modelleket használó végrehajtható fájlok Service Fabric-futtatókörnyezeti fájlok csatolásával, a Service Fabric-szolgáltatások engedélyezésével. Egy elnevezett szolgáltatáspéldány például regisztrálhat végpontokat a Service Fabric elnevezési szolgáltatásában, és jelentést készíthet a terhelési metrikákról is.

Adatcsomag: A szolgáltatástípus statikus, írásvédett adatfájljait, általában fénykép-, hang- és videofájljait tartalmazó lemezkönyvtár. Az adatcsomag könyvtárában lévő fájlokra a szolgáltatástípus fájlja hivatkozik ServiceManifest.xml . Névvel ellátott szolgáltatás létrehozásakor a rendszer az adatcsomagot a megnevezett szolgáltatás futtatásához kiválasztott csomópontra vagy csomópontokra másolja. A kód elindul, és most már hozzáférhet az adatfájlokhoz.

Konfigurációs csomag: A szolgáltatástípus statikus, írásvédett konfigurációs fájljait, általában szöveges fájlokat tartalmazó lemezkönyvtár. A konfigurációs csomag könyvtárában található fájlokra a szolgáltatástípus fájlja hivatkozik ServiceManifest.xml . Névvel ellátott szolgáltatás létrehozásakor a konfigurációs csomagban lévő fájlok át lesznek másolva egy vagy több, a nevesített szolgáltatás futtatására kijelölt csomópontra. Ezután elindul a kód futtatása, és most már hozzáférhet a konfigurációs fájlokhoz.

Tárolók: Alapértelmezés szerint a Service Fabric folyamatként helyezi üzembe és aktiválja a szolgáltatásokat. A Service Fabric a szolgáltatásokat tárolórendszerképekben is üzembe helyezheti. A tárolók olyan virtualizálási technológiák, amelyek elvonják az alapul szolgáló operációs rendszert az alkalmazásoktól. Egy alkalmazás és annak futtatókörnyezete, függőségei és rendszerkódtárai egy tárolóban futnak. A tároló teljes, privát hozzáféréssel rendelkezik az operációs rendszer szerkezeteinek saját elkülönített nézetéhez. A Service Fabric támogatja a Windows Server-tárolókat és a Docker-tárolókat Linux rendszeren. További információ: Service Fabric és tárolók.

Partícióséma: Névvel ellátott szolgáltatás létrehozásakor meg kell adnia egy partíciós sémát. A jelentős mennyiségű állapotú szolgáltatások felosztják az adatokat a partíciók között, ami szétosztja az állapotot a fürt csomópontjai között. Az adatok partíciók közötti felosztásával a megnevezett szolgáltatás állapota skálázható. A partíción belül az állapot nélküli névvel ellátott szolgáltatások példányokkal rendelkeznek, míg az állapotalapú névvel ellátott szolgáltatások replikákkal rendelkeznek. Az állapot nélküli névvel ellátott szolgáltatások általában csak egy partícióval rendelkeznek, mert nincs belső állapotuk. A partíciópéldányok biztosítják a rendelkezésre állást. Ha egy példány meghibásodik, a többi példány továbbra is megfelelően működik, majd a Service Fabric létrehoz egy új példányt. Az állapotalapú névvel ellátott szolgáltatások fenntartják az állapotukat a replikákban, és minden partíció saját replikakészlettel rendelkezik, így az állapot szinkronban marad. Ha egy replika meghibásodik, a Service Fabric létrehoz egy új replikát a meglévő replikákból.

További információért olvassa el a Partition Service Fabric reliable services (Partíciószolgáltatás-háló megbízható szolgáltatások ) című cikket.

Rendszerszolgáltatások

Minden fürtben vannak olyan rendszerszolgáltatások, amelyek a Service Fabric platformképességeit biztosítják.

Elnevezési szolgáltatás: Minden Service Fabric-fürt rendelkezik egy elnevezési szolgáltatással, amely feloldja a szolgáltatásneveket a fürt egy helyére. Kezelheti a szolgáltatásneveket és a tulajdonságokat, például a fürt internetes tartománynévrendszerét (DNS). Az ügyfelek biztonságosan kommunikálnak a fürt bármely csomópontjával az elnevezési szolgáltatás használatával a szolgáltatásnév és a hely feloldásához. Az alkalmazások a fürtön belül mozognak. Ennek oka lehet például a hibák, az erőforrás-kiegyensúlyozás vagy a fürt átméretezése. Olyan szolgáltatásokat és ügyfeleket fejleszthet, amelyek feloldják az aktuális hálózati helyet. Az ügyfelek a tényleges gép IP-címét és portját szerzik be, ahol jelenleg fut.

Az elnevezési szolgáltatással működő ügyfél- és szolgáltatáskommunikációs API-kkal kapcsolatos további információkért olvassa el a Kommunikáció a szolgáltatásokkal című témakört.

Image Store szolgáltatás: Minden Service Fabric-fürt rendelkezik egy Image Store szolgáltatással, ahol az üzembe helyezett, verziószámozott alkalmazáscsomagok megmaradnak. Másolja az alkalmazáscsomagot az Image Store-ba, majd regisztrálja az alkalmazáscsomagban található alkalmazástípust. Az alkalmazástípus kiépítése után létre kell hoznia egy nevesített alkalmazást. Az alkalmazástípus regisztrációját az Image Store szolgáltatásból törölheti, miután az összes nevesített alkalmazás törölve lett.

Az Image Store szolgáltatással kapcsolatos további információkért olvassa el Az ImageStoreConnectionString beállítás ismertetése című témakört.

Az alkalmazások Image Store szolgáltatásban való üzembe helyezésével kapcsolatos további információkért olvassa el az Alkalmazás üzembe helyezése című cikket.

Feladatátvétel-kezelő szolgáltatás: Minden Service Fabric-fürt rendelkezik feladatátvétel-kezelő szolgáltatással, amely a következő műveletekért felelős:

  • A szolgáltatások magas rendelkezésre állásával és konzisztenciájával kapcsolatos funkciókat hajt végre.
  • Alkalmazás- és fürtfrissítések vezénylása.
  • Más rendszerösszetevőkkel is együttműködik.

Javításkezelő szolgáltatás: Ez egy választható rendszerszolgáltatás, amely lehetővé teszi a javítási műveletek biztonságos, automatizált és átlátható módon történő végrehajtását egy fürtön. A Javításkezelő a következő helyen használható:

Üzembe helyezési és alkalmazásmodellek

A szolgáltatások üzembe helyezéséhez le kell írnia a futtatás módját. A Service Fabric három különböző üzembehelyezési modellt támogat:

Natív modell

A natív alkalmazásmodell teljes körű, alacsony szintű hozzáférést biztosít az alkalmazásoknak a Service Fabrichez. Az alkalmazások és szolgáltatások regisztrált típusként vannak definiálva az XML-jegyzékfájlokban.

A natív modell támogatja a Reliable Services és Reliable Actors keretrendszereket, amelyek hozzáférést biztosítanak a Service Fabric futtatókörnyezeti API-khoz és fürtkezelési API-khoz c# és Java nyelven. A natív modell tetszőleges tárolókat és végrehajtható fájlokat is támogat.

Reliable Services: Állapot nélküli és állapotalapú szolgáltatások létrehozásához használandó API. Az állapotalapú szolgáltatások az állapotukat megbízható gyűjteményekben tárolják, például egy szótárban vagy egy üzenetsorban. Különböző kommunikációs vermeket is csatlakoztathat, például a Webes API-t és a Windows Communication Foundationt (WCF).

Reliable Actors: Egy API, amely állapot nélküli és állapotalapú objektumokat hoz létre a virtuális Aktor programozási modellen keresztül. Ez a modell akkor hasznos, ha sok független számítási vagy állapotegységet használ. Ez a modell egy turn-alapú szálkezelési modellt használ, ezért érdemes elkerülni a más szereplőknek vagy szolgáltatásoknak kihívott kódot, mert az egyes szereplők nem tudják feldolgozni a többi bejövő kérést, amíg az összes kimenő kérése be nem fejeződik.

A meglévő alkalmazásokat a Service Fabricben is futtathatja:

Tárolók: A Service Fabric támogatja a Docker-tárolók Linux- és Windows Server-tárolókon való üzembe helyezését Windows Server 2016, valamint támogatja a Hyper-V elkülönítési módot. A Service Fabric-alkalmazásmodellben a tároló egy olyan alkalmazásgazda, amelyben több szolgáltatásreplika van elhelyezve. A Service Fabric bármilyen tárolót futtathat, és a forgatókönyv hasonló a vendég végrehajtható forgatókönyvéhez, amelyben egy meglévő alkalmazást csomagol egy tárolóba. Emellett a Service Fabric-szolgáltatásokat tárolókon belül is futtathatja .

Vendég végrehajtható fájlok: Bármilyen típusú kódot futtathat, például Node.js, Python, Java vagy C++ az Azure Service Fabricben szolgáltatásként. A Service Fabric az ilyen típusú szolgáltatásokra vendég végrehajtható fájlokként hivatkozik, amelyeket állapot nélküli szolgáltatásként kezelnek. A Service Fabric-fürtön végrehajtható vendégfuttatás előnyei közé tartozik a magas rendelkezésre állás, az állapotfigyelés, az alkalmazás életciklusának kezelése, a nagy sűrűség és a felderíthetőség.

További információért olvassa el a Programozási modell kiválasztása a szolgáltatáshoz című cikket.

Docker Compose

A Docker Compose a Docker-projekt része. A Service Fabric korlátozott támogatást nyújt az alkalmazások Docker Compose-modellel történő üzembe helyezéséhez.

Környezetek

A Service Fabric egy nyílt forráskódú platformtechnológia, amelyen számos különböző szolgáltatás és termék alapul. A Microsoft a következő lehetőségeket biztosítja:

  • Azure Service Fabric: Az Azure által üzemeltetett Service Fabric-fürtajánlat. Integrációt biztosít a Service Fabric és az Azure-infrastruktúra között, valamint a Service Fabric-fürtök frissítését és konfigurációkezelését.
  • Önálló Service Fabric: Telepítési és konfigurációs eszközök készlete a Service Fabric-fürtök bárhol (a helyszínen vagy bármely felhőszolgáltatón) történő üzembe helyezéséhez. Nem az Azure kezeli.
  • Service Fabric fejlesztői fürt: Helyi fejlesztési felületet biztosít Windows, Linux vagy Mac rendszeren Service Fabric-alkalmazások fejlesztéséhez.

Következő lépések

További információ a Service Fabricről: