Škálování samostatných clusterů Service Fabric
Cluster Service Fabric je síťově propojená sada virtuálních nebo fyzických počítačů, ve které se nasazují a spravují mikroslužby. Počítač nebo virtuální počítač, který je součástí clusteru, se nazývá uzel. Clustery můžou obsahovat potenciálně tisíce uzlů. Po vytvoření clusteru Service Fabric můžete cluster horizontálně škálovat (změnit počet uzlů) nebo vertikálně (změnit prostředky uzlů). Cluster můžete kdykoli škálovat, i když jsou úlohy spuštěné v clusteru. Jak se cluster škáluje, vaše aplikace se automaticky škálují i.
Proč škálovat cluster? Požadavky aplikací se v průběhu času mění. Možná budete muset zvýšit prostředky clusteru, aby splňovaly zvýšenou úlohu aplikací nebo síťový provoz, nebo snížit prostředky clusteru, když poptávka klesne.
Horizontální nebo horizontální škálování
Změní počet uzlů v clusteru. Jakmile se nové uzly připojí ke clusteru, Přesune do nich Resource Manager služby, které snižují zatížení stávajících uzlů. Pokud se prostředky clusteru nepoužívají efektivně, můžete také snížit počet uzlů. Když uzly opustí cluster, služby se přesunou mimo tyto uzly a zatížení na zbývajících uzlech se zvýší. Snížení počtu uzlů v clusteru běžícím v Azure vám může ušetřit peníze, protože platíte za počet virtuálních počítačů, které používáte, a ne za úlohy na těchto virtuálních počítačích.
- Výhody: Nekonečné měřítko, teoreticky. Pokud je vaše aplikace navržená pro škálovatelnost, můžete povolit neomezený růst přidáním dalších uzlů. Nástroje v cloudových prostředích usnadňují přidávání nebo odebírání uzlů, takže je snadné upravit kapacitu a platit jenom za prostředky, které používáte.
- Nevýhody: Aplikace musí být navrženy pro škálovatelnost. Databáze aplikací a trvalost můžou vyžadovat další architekturu, aby bylo možné škálovat i další architekturu. Spolehlivé kolekce ve stavových službách Service Fabric ale usnadňují škálování dat aplikace.
Samostatné clustery umožňují nasadit cluster Service Fabric místně nebo ve vámi zvoleném poskytovateli cloudu. Typy uzlů se skládají z fyzických počítačů nebo virtuálních počítačů v závislosti na vašem nasazení. V porovnání s clustery běžícími v Azure je proces škálování samostatného clusteru o něco více zapojen. Musíte ručně změnit počet uzlů v clusteru a pak spustit upgrade konfigurace clusteru.
Odebrání uzlů může iniciovat několik upgradů. Některé uzly jsou označené značkou IsSeedNode=”true”
a lze je identifikovat dotazováním manifestu clusteru pomocí rutiny Get-ServiceFabricClusterManifest. Odebrání takových uzlů může trvat déle než ostatní, protože počáteční uzly se budou muset v takových scénářích přesouvat. Cluster musí udržovat minimálně tři uzly typu primárního uzlu.
Upozorňující
Doporučujeme neznít počet uzlů pod velikostí clusteru úrovně Spolehlivosti clusteru. Tím dojde k narušení schopnosti služby Service Fabric System Services, která se bude replikovat v rámci clusteru, a dojde k nestabilitě nebo případnému zničení clusteru.
Při škálování samostatného clusteru mějte na paměti následující pokyny:
- Nahrazení primárních uzlů by mělo být provedeno po druhém místo odebrání a následného přidávání v dávkách.
- Před odebráním typu uzlu zkontrolujte, jestli existují nějaké uzly odkazující na typ uzlu. Před odebráním odpovídajícího typu uzlu odeberte tyto uzly. Po odebrání všech odpovídajících uzlů můžete odebrat NodeType z konfigurace clusteru a zahájit upgrade konfigurace pomocí Start-ServiceFabricClusterConfigurationUpgrade.
Další informace najdete v tématu Škálování samostatného clusteru.
Vertikální navýšení a snížení kapacity nebo vertikální škálování
Změní prostředky (procesor, paměť nebo úložiště) uzlů v clusteru.
- Výhody: Architektura softwaru a aplikací zůstává stejná.
- Nevýhody: Konečné škálování, protože existuje omezení, jak moc můžete zvýšit prostředky na jednotlivých uzlech. Výpadek, protože budete muset převést fyzické nebo virtuální počítače do offline režimu, abyste mohli přidávat nebo odebírat prostředky.
Další kroky
- Seznamte se se škálovatelností aplikací.
- Horizontální navýšení nebo snížení kapacity clusteru Azure
- Škálování clusteru Azure prostřednictvím kódu programu pomocí fluent azure compute SDK
- Horizontální navýšení nebo snížení kapacity samostatného clusteru