Azure Service Fabric-fürtök skálázása
A Service Fabric-fürtök virtuális vagy fizikai gépek hálózattal csatlakoztatott készletei, amelyekbe a mikroszolgáltatások üzembe helyezése és kezelése történik. A fürt részét képező gépet vagy virtuális gépet csomópontnak nevezzük. A fürtök több ezer csomópontot tartalmazhatnak. Service Fabric-fürt létrehozása után horizontálisan (a csomópontok számának módosítása) vagy függőlegesen (a csomópontok erőforrásainak módosítása) skálázhatja a fürtöt. A fürtöt bármikor skálázhatja, még akkor is, ha számítási feladatok futnak a fürtön. A fürt méretezése során az alkalmazások is automatikusan skálázhatók.
Miért érdemes skálázni a fürtöt? Az alkalmazásigények idővel változnak. Előfordulhat, hogy növelnie kell a fürterőforrásokat a megnövekedett alkalmazásterheléshez vagy hálózati forgalomhoz, vagy csökkentenie kell a fürterőforrásokat, amikor csökken az igény.
Horizontális skálázás és horizontális skálázás
Módosítja a fürt csomópontjainak számát. Miután az új csomópontok csatlakoznak a fürthöz, a fürt Resource Manager áthelyezi a szolgáltatásokat, ami csökkenti a meglévő csomópontok terhelését. A csomópontok számát is csökkentheti, ha a fürt erőforrásait nem használják hatékonyan. Ahogy a csomópontok elhagyják a fürtöt, a szolgáltatások elmozdulnak ezekről a csomópontokról, és a többi csomópont terhelése nő. Az Azure-ban futó fürtök csomópontjainak számának csökkentésével pénzt takaríthat meg, mivel a használt virtuális gépek számáért kell fizetnie, és nem a virtuális gépek számítási feladataiért.
- Előnyök: Végtelen skálázás, elméletben. Ha az alkalmazás méretezhetőségre van tervezve, további csomópontok hozzáadásával engedélyezheti a korlátlan növekedést. A felhőalapú környezetekben az eszközök megkönnyítik a csomópontok hozzáadását vagy eltávolítását, így egyszerűen módosítható a kapacitás, és csak a használt erőforrásokért kell fizetnie.
- Hátrányok: Az alkalmazásokat méretezhetőségre kell tervezni. Az alkalmazás-adatbázisok és az adatmegőrzés további architekturális munkát is igényelhet a skálázáshoz. A Service Fabric állapotalapú szolgáltatásaiban található megbízható gyűjtemények azonban sokkal egyszerűbbé teszik az alkalmazásadatok skálázását.
A virtuálisgép-méretezési csoportok olyan Azure-beli számítási erőforrások, amelyekkel virtuális gépek gyűjteményét telepítheti és kezelheti készletként. Az Azure-fürtökben definiált csomóponttípusok mindegyike külön méretezési csoportként van beállítva. Ezután minden csomóponttípus egymástól függetlenül skálázható, különböző portkészletekkel rendelkezhet, és különböző kapacitásmetrikákkal rendelkezhet.
Azure-fürt méretezésekor tartsa szem előtt az alábbi irányelveket:
- Az éles számítási feladatokat futtató elsődleges csomóponttípusoknak mindig öt vagy több csomópontot kell rendelkezniük.
- az állapotalapú éles számítási feladatokat futtató nem elsődleges csomóponttípusoknak mindig öt vagy több csomópontot kell tartalmazniuk.
- az állapot nélküli éles számítási feladatokat futtató nem elsődleges csomóponttípusoknak mindig két vagy több csomópontot kell tartalmazniuk.
- A Gold vagy Silver típusú csomóponttípusoknak mindig öt vagy több csomópontot kell rendelkezniük.
- Ne távolítsa el a véletlenszerű virtuálisgép-példányokat/csomópontokat egy csomóponttípusból, mindig használja a virtuálisgép-méretezési csoport skálázását a funkcióban. A véletlenszerű virtuálisgép-példányok törlése hátrányosan befolyásolhatja a rendszerek megfelelő terheléselosztási képességét.
- Ha automatikus skálázási szabályokat használ, állítsa be úgy a szabályokat, hogy a virtuálisgép-példányok horizontális felskálázása (a virtuálisgép-példányok eltávolítása) egyszerre egy csomóponttal legyen végrehajtva. Egyszerre több példány vertikális leskálázása nem biztonságos.
Mivel a fürt Service Fabric-csomóponttípusai virtuálisgép-méretezési csoportokból állnak a háttérrendszerben, beállíthat automatikus méretezési szabályokat, vagy manuálisan skálázhatja az egyes csomóponttípusokat/virtuálisgép-méretezési csoportokat.
Programozott skálázás
Sok esetben jó megoldás a fürtök manuális vagy automatikus skálázási szabályokkal történő skálázása . A fejlettebb forgatókönyvek esetében azonban előfordulhat, hogy nem megfelelőek. Ezeknek a megközelítéseknek a lehetséges hátrányai a következők:
- A manuális skálázáshoz be kell jelentkeznie, és explicit módon skálázási műveleteket kell kérnie. Ha gyakran vagy kiszámíthatatlan időpontokban van szükség skálázási műveletekre, ez a módszer nem feltétlenül jó megoldás.
- Amikor az automatikus skálázási szabályok eltávolítanak egy példányt egy virtuálisgép-méretezési csoportból, nem távolítják el automatikusan a csomópont ismeretét a társított Service Fabric-fürtből, kivéve, ha a csomóponttípus tartóssági szintje Silver vagy Gold. Mivel az automatikus skálázási szabályok a méretezési csoport szintjén működnek (és nem a Service Fabric szintjén), az automatikus skálázási szabályok anélkül távolíthatják el a Service Fabric-csomópontokat, hogy szabályosan leállítanák őket. Ez a durva csomóponteltávolítás a "ghost" Service Fabric-csomópont állapotát hagyja hátra a méretezési műveletek után. Egy személynek (vagy szolgáltatásnak) rendszeresen törölnie kell az eltávolított csomópont állapotát a Service Fabric-fürtben.
- A Gold vagy Silver tartóssági szintű csomóponttípusok automatikusan eltávolítják az eltávolított csomópontokat, így nincs szükség további tisztításra.
- Bár az automatikus skálázási szabályok számos metrikát támogatnak, ez még mindig korlátozott készlet. Ha a forgatókönyv olyan metrikák alapján kér skálázást, amelyek nem szerepelnek a készletben, akkor előfordulhat, hogy az automatikus skálázási szabályok nem megfelelőek.
A Service Fabric skálázásának megközelítése a forgatókönyvtől függ. Ha a skálázás nem gyakori, a csomópontok manuális hozzáadása vagy eltávolítása valószínűleg elegendő. Összetettebb forgatókönyvek esetén az automatikus skálázási szabályok és az SDK-k hatékony alternatívákat kínálnak a programozott skálázásra.
Léteznek olyan Azure API-k, amelyek lehetővé teszik, hogy az alkalmazások programozott módon működjenek a virtuálisgép-méretezési csoportokkal és a Service Fabric-fürtökkel. Ha a meglévő automatikus skálázási lehetőségek nem működnek a forgatókönyvhöz, ezek az API-k lehetővé teszik az egyéni skálázási logika implementálását.
A "házi készítésű" automatikus skálázási funkció implementálásának egyik módszere egy új állapot nélküli szolgáltatás hozzáadása a Service Fabric-alkalmazáshoz a skálázási műveletek kezeléséhez. A saját skálázási szolgáltatás létrehozása biztosítja a legnagyobb fokú vezérlést és testreszabhatóságot az alkalmazás skálázási viselkedéséhez képest. Ez olyan forgatókönyvek esetén lehet hasznos, amelyek pontos szabályozást igényelnek az alkalmazások fel- és leskálázásának módjáról. Ez a vezérlő azonban a kód összetettségének kompromisszumával jár. Ennek a módszernek a használata azt jelenti, hogy saját skálázási kódra van szükség, amely nem triviális. A szolgáltatás metódusán RunAsync
belül az eseményindítók készlete meg tudja állapítani, hogy szükség van-e skálázásra (beleértve az olyan paraméterek ellenőrzését, mint a fürt maximális mérete és a skálázási lehűlés).
A virtuálisgép-méretezési csoportok interakcióihoz (a virtuálisgép-példányok aktuális számának ellenőrzéséhez és módosításához) használt API a fluent Azure Management Compute-kódtár. A fluent számítási kódtár egy könnyen használható API-t biztosít a virtuálisgép-méretezési csoportokkal való interakcióhoz. A Service Fabric-fürttel való interakcióhoz használja a System.Fabric.FabricClient parancsot.
A skálázási kódnak azonban nem kell szolgáltatásként futnia a skálázandó fürtben. A IAzure
és FabricClient
a is képes távolról csatlakozni a társított Azure-erőforrásokhoz, így a skálázási szolgáltatás könnyen lehet egy konzolalkalmazás vagy egy Windows-szolgáltatás, amely a Service Fabric-alkalmazáson kívülről fut.
Ezen korlátozások alapján érdemes lehet testre szabottabb automatikus skálázási modelleket implementálni.
Vertikális fel- és leskálázás vagy vertikális skálázás
Módosítja a fürt csomópontjainak erőforrásait (PROCESSZOR, memória vagy tárterület).
- Előnyök: A szoftver- és alkalmazásarchitektúra változatlan marad.
- Hátrányok: Véges skálázás, mivel korlátozva van, hogy az egyes csomópontokon mennyi erőforrás növelhető. Állásidő, mert az erőforrások hozzáadásához vagy eltávolításához offline állapotba kell helyeznie a fizikai vagy virtuális gépeket.
A virtuálisgép-méretezési csoportok olyan Azure-beli számítási erőforrások, amelyekkel virtuális gépek gyűjteményét telepítheti és kezelheti készletként. Az Azure-fürtökben definiált csomóponttípusok mindegyike külön méretezési csoportként van beállítva. Ezután minden csomóponttípus külön kezelhető. A csomóponttípusok vertikális fel- vagy leskálázása egy új csomóponttípus hozzáadását (frissített virtuálisgép-termékváltozattal) és a régi csomóponttípus eltávolítását foglalja magában.
Azure-fürt méretezésekor tartsa szem előtt az alábbi útmutatót:
- Ha elsődleges csomóponttípust skáláz le, soha ne skálázza le többször, mint amennyit a megbízhatósági szint megenged.
A csomóponttípusok vertikális fel- vagy leskálázásának folyamata eltérő attól függően, hogy nem elsődleges vagy elsődleges csomóponttípusról van-e szó.
Nem elsődleges csomóponttípusok skálázása
Hozzon létre egy új csomóponttípust a szükséges erőforrásokkal. Frissítse a futó szolgáltatások elhelyezési korlátozásait, hogy tartalmazzák az új csomóponttípust. Fokozatosan (egyenként) csökkentse a régi csomóponttípusú példányok számát nullára, hogy a fürt megbízhatóságára ne legyen hatással. A szolgáltatások fokozatosan áttérnek az új csomóponttípusra, mivel a régi csomóponttípust leszerelik.
Az elsődleges csomóponttípus skálázása
Helyezzen üzembe egy új elsődleges csomóponttípust a frissített virtuálisgép-termékváltozattal, majd tiltsa le egyenként az eredeti elsődleges csomóponttípuspéldányokat, hogy a rendszerszolgáltatások áttérjenek az új méretezési csoportra. Ellenőrizze, hogy a fürt és az új csomópontok kifogástalan állapotban vannak-e, majd távolítsa el a törölt csomópontok eredeti méretezési csoportját és csomópontállapotát.
Ha ez nem lehetséges, létrehozhat egy új fürtöt, és visszaállíthatja az alkalmazás állapotát (ha van ilyen) a régi fürtből. Nem kell visszaállítania semmilyen rendszerszolgáltatás-állapotot, azok újra létrejönnek, amikor az alkalmazásokat az új fürtön helyezi üzembe. Ha csak állapot nélküli alkalmazásokat futtatott a fürtön, akkor csak annyit kell tennie, hogy üzembe helyezi az alkalmazásokat az új fürtön, nincs mit visszaállítania.
Következő lépések
- Tudnivalók az alkalmazások méretezhetőségéről.
- Azure-fürt fel- vagy leskálázása.
- Azure-fürt programozott skálázása a fluent Azure Compute SDK használatával.
- Önálló fürt skálázása be- vagy kifelé.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: