Megosztás a következőn keresztül:


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