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 za účelem provedení práce. 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žila k ukládání dat a protokolů transakcí.

Jako příklad služby se podívejme na kalkulačku. Základní služba kalkulačky přijímá dvě čísla a vrací jejich součet. Tento výpočet nezahrnuje žádné členské proměnné ani jiné informace.

Teď zvažte stejnou kalkulačku, ale s další metodou pro uložení a vrácení posledního vypočítaného součtu. Tato služba je teď stavová. Stavový znamená, že obsahuje určitý stav, do kterého se zapisuje při výpočtu nového součtu a z kterého čte, 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 buď externalizovaný, nebo společně umístěný s kódem, který se stavem manipuluje. 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 s kalkulačkou může být úložištěm dat databáze SQL nebo instance Azure Table Store. Každý požadavek na výpočet součtu provede aktualizaci těchto dat a požádá službu, aby vrátila výsledek hodnoty v aktuální hodnotě, která se načítá z úložiště.

Stav může být také umístěn společně s kódem, který se stavem manipuluje. Stavové služby v Service Fabric se obvykle vytvářejí pomocí tohoto modelu. Service Fabric poskytuje infrastrukturu, která zajišťuje vysokou dostupnost, konzistenci a odolnost tohoto stavu a snadné škálování služeb vytvořených tímto způsobem.

Další kroky

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