Horizontális skálázás Databricks-alkalmazásokhoz

Important

Ez a funkció bétaverzióban érhető el. A munkaterület adminisztrátorai a Nézetek oldaláról szabályozhatják a hozzáférést ehhez a funkcióhoz, ha bekapcsolják az Apps Horizontális Skálázás előnézetét. Lásd: Az Azure Databricks előzetes verziójának kezelése.

Ez a lap azt ismerteti, hogyan futtathat Databricks-alkalmazást több példányon egyetlen alkalmazás URL-címe mögött a magasabb rendelkezésre állás és egyidejűség érdekében.

A horizontális skálázás elosztja a kérelmeket a példányok között, így egyetlen példány meghibásodása vagy újraindítása nem veszi offline állapotba az alkalmazást. A számítási költség lineárisan skálázható a példányok számával.

További előnyök:

  • Munkamenet-affinitás: Az ugyanabból a felhasználóból érkező minden kérés a lehető legjobb munkamennyiség alapján érkezik ugyanahhoz a példányhoz, így egy alkalmazás a felhasználónkénti rövid élettartamú adatokat (például egy memórián belüli gyorsítótárat) tárolhatja az adott példányon. Más néven ragadós munkamenetekként ismertek. Lásd: Munkamenet-affinitás.
  • Leállás nélküli üzembe helyezések: Az Azure Databricks először egy buildpéldányon vezeti be az új üzembe helyezést, és csak ezt követően frissíti a többi példányt, ha a buildpéldány sikeres. A meglévő példányok mindvégig továbbra is kiszolgálják a forgalmat.
  • Stabil build-gyorsítótárak: Az Azure Databricks megőrzi a telepítési összetevőket a számítási erőforrások frissítései során (például amikor módosítja a példányok méretét vagy számát), így az alkalmazásnak nincs szüksége teljes újraépítésre.

Vízszintesen skálázott alkalmazás létrehozása

Vízszintes skálázást engedélyező alkalmazás létrehozása:

  1. A Azure Databricks munkaterületen kattintson a App icon. alkalmazáskapcsolóra, és válassza a Databricks Apps lehetőséget.
  2. Kattintson az + Alkalmazás létrehozása, majd az Egyéni alkalmazás létrehozása parancsra.
  3. Adjon meg egy nevet, és konfigurálja az alkalmazást az egyéni Databricks-alkalmazás létrehozása című cikkben leírtak szerint.
  4. A Konfigurálás lépésben válassza a Horizontális skálázás engedélyezése lehetőséget.
  5. Adja meg a példányok számát (1–5). Azure Databricks legalább 2 példány rendelkezésre állását javasolja.
  6. Kattintson az Alkalmazás létrehozása elemre.

A horizontális skálázás engedélyezése egy alkalmazáshoz nem befolyásolja a munkaterületen lévő többi alkalmazást.

Az újonnan létrehozott horizontálisan skálázott alkalmazások nem tartalmazzák az előre telepített Python kódtárakat. Adja meg az összes függőséget a requirements.txt vagy a pyproject.toml elemben. Lásd: Databricks-alkalmazások függőségeinek kezelése.

Standard alkalmazás átalakítása vízszintes skálázás használatára

Meglévő szabványos alkalmazás átalakítása vízszintesen skálázott alkalmazássá a Beállítások lapon. A konvertálás nem vezet be állásidőt. A meglévő standard alkalmazás továbbra is kiszolgálja a forgalmat, amíg az új, horizontálisan skálázott telepítés sikeresen át nem megy az állapotellenőrzéseken, ekkor pedig az Azure Databricks átirányítja rá a forgalmat.

Az átalakítás megfordítható. A vízszintesen skálázott alkalmazásokat ugyanabból a Beállítások lapról konvertálhatja vissza normál alkalmazássá.

Konverziós viselkedés

Az átalakításkor a következő viselkedés érvényes:

Az átalakítás tesztelése

A konvertálás megváltoztatja az alkalmazás futtatókörnyezeti rendszerképét és skálázási modelljét. Éles alkalmazás konvertálása előtt ellenőrizze a módosítást egy duplikált példányon:

  1. Hozzon létre egy másolatot a konvertálni kívánt szabványos alkalmazásról.
  2. A másolat átalakításához kövesse az alábbi lépéseket.
  3. Ellenőrizze, hogy az alkalmazás a várt módon működik-e a konvertált duplikáción. Ellenőrizze a naplókat, a forgalmat és a munkamenet-affinitással kapcsolatos viselkedést.
  4. Konvertálja az éles alkalmazást az érvényesítés után.

Standard alkalmazás konvertálása

Normál alkalmazás vízszintes skálázásúvá alakítása:

  1. A Azure Databricks munkaterületen kattintson a App icon. alkalmazáskapcsolóra, és válassza a Databricks Apps lehetőséget.
  2. Kattintson a konvertálni kívánt alkalmazás nevére.
  3. Kattintson a Beállítások fülre .
  4. A Számítás területen válassza a Horizontális skálázás engedélyezése lehetőséget. Azure Databricks a példányok számát 1 értékre állítja, amely az átalakításkor szükséges.
  5. Kattintson a Mentés lehetőségre.

Az Azure Databricks új, horizontálisan skálázott számítási kapacitást indít el, majd újra telepíti rá az alkalmazását. A teljes idő az alkalmazás buildelési időtartamától függ. A meglévő alkalmazás folyamatosan kiszolgálja a forgalmat.

A konvertálás befejezése után feljebb méretezheti vagy lemondhat az előre telepített könyvtárakról.

A példányszám kezelése

A horizontálisan skálázott alkalmazások példányainak számának módosítása:

  1. Az alkalmazás részletei lapon kattintson a Szerkesztés gombra.
  2. A Konfigurálás lépésben frissítse a példányok számát.
  3. Kattintson a Mentés lehetőségre.

Az alkalmazás továbbra is kiszolgálja a forgalmat, miközben Azure Databricks alkalmazza a módosítást.

Munkamenetaffinitás

A munkamenet-affinitás minden kérést ugyanarra a felhasználóra irányít, amikor csak lehetséges. Az alkalmazás ezzel az útválasztással tárolhatja a felhasználónkénti rövid élettartamú adatokat (például egy memóriabeli gyorsítótárat vagy a helyi fájlrendszer ideiglenes fájljait) azon a példányon, amely az adott felhasználó munkamenetét kezeli. A munkamenet-affinitást ragadós munkamenetnek is nevezik.

A munkamenet-affinitás legjobb szándék szerinti. Ne tároljon semmit a példány helyi állapotában, amit nem tud rekonstruálni vagy lekérni egy tartós tárolóból. Őrizze meg azokat az adatokat, amelyeknek hosszabb ideig kell lenniük egy tartós tárolóban, például Unity Catalog-táblákban.

Az adatokat a Lakebase használatával is megőrizheti.

Böngészőalapú alkalmazások

A munkamenet-affinitás böngészőalapú alkalmazások esetén automatikusan működik. A böngésző első kérése egy véletlenszerűen kiválasztott példányra mutat, amely beállítja a __Host-databricks-app-router cookie-t. Az ezt a cookie-t tartalmazó későbbi kérések ugyanahhoz a példányhoz irányítódnak.

API-ügyfelek

Az API-ügyfelek munkamenet-affinitásának lekéréséhez minden kérésbe bele kell foglalnia a __Host-databricks-app-router cookie-t, és állítsa be egy véletlenszerűen létrehozott UUID-ra. Az azonos cookie-értékkel rendelkező kérések ugyanahhoz a példányhoz lesznek irányítva.

curl -X GET https://<your-app>.aws.databricksapps.com/api/endpoint \
  -H "Authorization: Bearer YOUR_BEARER_TOKEN" \
  -b "__Host-databricks-app-router=f8822466-3b1e-423a-988b-54c9e639c250"

Munkamenet újbóli hozzárendelése

A munkamenetek a következő esetekben kerülhetnek át egy másik példányra:

  • Egy példány elérhetetlenné válik (például üzembe helyezés vagy összeomlás közben).
  • Módosíthatja a példányok számát.
  • Az Azure Databricks újra egyensúlyba hozza a munkameneteket a példányok között.
  • Az egyes kérések nem lesznek átirányítva (ritka).

Limitations

A horizontálisan skálázott alkalmazásokra az alábbi korlátozások vonatkoznak:

  • Minden munkaterületen legfeljebb 20 vízszintesen skálázott alkalmazás lehet. A korlát növeléséhez forduljon a Azure Databricks képviselőjéhez.
  • Minden vízszintesen skálázott alkalmazás legfeljebb 5 példánysal rendelkezhet. A korlát növeléséhez forduljon a Azure Databricks képviselőjéhez.
  • A Naplók lapon egyszerre egyetlen példány naplói láthatók. Az összes példány naplóinak megtekintéséhez engedélyezze az alkalmazás telemetriáját.