Přehled architektury Správce prostředků clusteru
Service Fabric Cluster Resource Manager je centrální služba, která běží v clusteru. Spravuje požadovaný stav služeb v clusteru, zejména s ohledem na spotřebu prostředků a všechna pravidla umístění.
Pokud chcete spravovat prostředky v clusteru, musí mít Správce prostředků clusteru Service Fabric několik informací:
- Které služby aktuálně existují
- Aktuální (nebo výchozí) spotřeba prostředků jednotlivých služeb
- Zbývající kapacita clusteru
- Kapacita uzlů v clusteru
- Množství prostředků spotřebovaných na každém uzlu
Spotřeba prostředků dané služby se může v průběhu času měnit a služby obvykle zajímají více než jeden typ prostředku. V různých službách se můžou měřit skutečné fyzické i fyzické prostředky. Služby můžou sledovat fyzické metriky, jako je využití paměti a disku. Častěji se služby můžou starat o logické metriky – například WorkQueueDepth nebo TotalRequests. Logické i fyzické metriky je možné použít ve stejném clusteru. Metriky se dají sdílet napříč mnoha službami nebo můžou být specifické pro konkrétní službu.
Ostatní úvahy
Vlastníci a operátoři clusteru se můžou lišit od autorů služeb a aplikací nebo jsou minimálně stejní lidé, kteří mají různé klobouky. Při vývoji aplikace víte o tom, co vyžaduje, několik věcí. Máte odhad prostředků, které budou spotřebovávat, a způsob nasazení různých služeb. Webová vrstva se například musí spouštět na uzlech vystavených internetu, zatímco databázové služby by neměly. Jako další příklad jsou webové služby pravděpodobně omezeny procesorem a sítí, zatímco služby datové vrstvy se více zajímají o využití paměti a disku. Osoba, která pracuje s incidentem živého webu pro danou službu v produkčním prostředí nebo která spravuje upgrade služby, má ale jinou úlohu a vyžaduje různé nástroje.
Cluster i služby jsou dynamické:
- Počet uzlů v clusteru se může zvětšit a zmenšit.
- Uzly různých velikostí a typů můžou přijít a začít
- Služby je možné vytvářet, odebírat a měnit jejich požadované přidělení prostředků a pravidla umístění.
- Upgrady nebo jiné operace správy můžou cluster procházet v aplikaci na úrovních infrastruktury.
- K selháním může dojít kdykoli.
Komponenty Správce prostředků clusteru a tok dat
Správce prostředků clusteru musí sledovat požadavky jednotlivých služeb a spotřebu prostředků jednotlivými objekty služby v rámci těchto služeb. Správce prostředků clusteru má dvě koncepční části: agenti, kteří běží na každém uzlu a službu odolnou proti chybám. Agenti na každém uzlu sledují sestavy načítání ze služeb, agregují je a pravidelně je hlásí. Služba Cluster Resource Manager agreguje všechny informace z místních agentů a reaguje na základě aktuální konfigurace.
Podívejme se na následující diagram:
Během běhu může dojít k mnoha změnám. Řekněme například, že množství prostředků, které některé služby spotřebovávají změny, některé služby selžou a některé uzly se připojí ke clusteru a opustí ho. Všechny změny v uzlu se agregují a pravidelně odesílají do služby Cluster Resource Manageru (1,2), kde se znovu agregují, analyzují a ukládají. Každých několik sekund služba prohlédne změny a určí, jestli jsou potřeba nějaké akce (3). Může si například všimnout, že do clusteru byly přidány některé prázdné uzly. V důsledku toho se rozhodne přesunout některé služby do těchto uzlů. Správce prostředků clusteru si také může všimnout, že je určitý uzel přetížený nebo že některé služby selhaly nebo byly odstraněny, a uvolnit prostředky jinde.
Pojďme se podívat na následující diagram a podívat se, co se stane dál. Řekněme, že Správce prostředků clusteru určuje, že změny jsou nezbytné. Koordinuje s dalšími systémovými službami (zejména správcem převzetí služeb při selhání) a provede potřebné změny. Potom se potřebné příkazy odešlou do příslušných uzlů (4). Řekněme například, že Resource Manager zaznamenal přetížení Node5, a proto se rozhodl přesunout službu B z Node5 do Node4. Na konci rekonfigurace (5) cluster vypadá takto:
Další kroky
- Správce prostředků clusteru má mnoho možností pro popis clusteru. Další informace o nich najdete v tomto článku popisující cluster Service Fabric.
- Primární povinnosti Správce prostředků clusteru vyrovnávají cluster a vynucují pravidla umístění. Další informace o konfiguraci tohoto chování najdete v tématu Vyrovnávání zatížení clusteru Service Fabric.