Sdílet prostřednictvím


Stav služby

Stav služby odkazuje na data v paměti nebo na disku, která služba vyžaduje k fungování. Zahrnuje například datové struktury a členské proměnné, které služba čte a zapisuje, aby fungovala. V závislosti na tom, jak je služba navržená, může obsahovat také soubory nebo jiné prostředky, které jsou uložené na disku. Například soubory, které by databáze používala k ukládání dat a transakčních protokolů.

Jako ukázkovou službu se podíváme na kalkulačku. Služba základní kalkulačky má dvě čísla a vrátí jejich součet. Provedení tohoto výpočtu nezahrnuje žádné členské proměnné ani jiné informace.

Teď zvažte stejnou kalkulačku, ale s další metodou pro ukládání a vrácení posledního součtu, který se vypočítá. Tato služba je teď stavová. Stavový znamená, že obsahuje nějaký stav, do kterého zapisuje, když vypočítá nový součet a přečte se od něj, když ho požádáte o vrácení posledního vypočítaného součtu.

V Azure Service Fabric se první služba nazývá bezstavová služba. Druhá služba se nazývá stavová služba.

Ukládání stavu služby

Stav může být externalizovaný nebo společně umístěný s kódem, který manipuluje se stavem. Externalizace stavu se obvykle provádí pomocí externí databáze nebo jiného úložiště dat, které běží na různých počítačích přes síť nebo mimo proces na stejném počítači. V našem příkladu kalkulačky může být úložiště dat databází SQL nebo instancí Azure Table Store. Každý požadavek na výpočet součtu provede aktualizaci těchto dat a požádá službu o vrácení výsledku hodnoty v aktuální hodnotě načtené z úložiště.

Stav může být také společně umístěný s kódem, který manipuluje se stavem. Stavové služby v Service Fabric se obvykle vytvářejí pomocí tohoto modelu. Service Fabric poskytuje infrastrukturu, která zajišťuje, že tento stav je vysoce dostupný, konzistentní a odolný a že služby vytvořené tímto způsobem můžou snadno škálovat.

Další kroky

Další informace o konceptech Service Fabric najdete v následujících článcích: