Dajbych.net


Bezstavová, stavová nebo herecká služba?

, 2 minuty čtení

service fabric logo

Service Fabric je distribuovaná systémová platforma, která usnadňuje balení, nasazování a správu škálovatelných a spolehlivých mikroslužeb. Service Fabric nabízí několik typů uzlů. Jak vybrat ten nejlepší pro daný problém?

Bez státní příslušnosti

stateless service (dříve stateless reliable services) ukládá svůj stav do externího zdroje. Téměř každá služba má svůj stav. Může to být seznam zákazníků nebo výsledek nějakého výpočtu. V případě bezstavové služby je stav uložen v SQL Database, Azure Storage nebo DocumentDB. Práce bezstavové služby je vyvolána požadavkem služby (bezstavové webové rozhraní API) nebo funguje nepřetržitě (bezstavová služba). Neplánuje svou práci tak, že by využíval spolehlivou frontu, ale mohl by využívat frontu Azure.

Stavové

Soubor stateful service (dříve stateful reliable services) ukládá svůj stav do clusteru Service Fabric. Stav je sdílen všemi uzly v oddílu. Změny stavu jsou replikovány z primárního uzlu do sekundárních uzlů automaticky transakčním způsobem. Pouze primární uzel je určen ke spuštění úlohy. Velikost stavu je omezena šířkou pásma sítě, systémovou pamětí a diskovým úložištěm virtuálních strojů používaných v clusteru. Stav je uložen ve strukturách nazývaných spolehlivé kolekce. Dnes existují dva druhy – Reliable Dictionary a Reliable Queue.

Herec

Ustanovení actor service (dříve Service Fabric Reliable Actors, stateless reliable actor nebo stateful reliable actors) je služba používaná v modelu objektu actor. Tento model byl vynalezen v roce 1986 ve společnosti Ericsson. Dnes se používá k napájení mobilních sítí GPRS, 3G a LTE. To je užitečné, když pracujete na souběžném systému, kde výkon není kritický a stav je vysoce proměnlivý.

Objekt actor je služba, která odesílá zprávy jiným aktérům. Persistence stavu má tři možnosti – persisted, volatile a none. Možnost persisted znamená, že stav je zapsán na disk a replikován, zatímco možnost volatile znamená, že stav je uchováván pouze v paměti a replikován, zatímco stav none je pouze v paměti a není replikován. Stát je pro každého aktéra jiný. Je uložen ve struktuře nazvané Actor State Manager.

New orleans

Microsoft Orleans je další rámec pro cloudové služby založený na modelu aktéra. Je vyvinut společností Microsoft Research a používá se pro všechny cloudové služby Halo 4 a Halo 5 . Nenechte se zmást, zrno je aktér a silo je přepážka. Rozdíly mezi službou Service Fabric actor a Microsoft Orleans byly popsány nejméně ve dvou (prvních, druhých) skvělých článcích.