Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Important
Tato funkce je v beta verzi. Pokud chcete požádat o přístup, obraťte se na svého zástupce Azure Databricks. Po povolení této funkce můžou správci pracovního prostoru řídit přístup k této funkci ze stránky Previews . Viz Manage Azure Databricks preview.
Tato stránka popisuje, jak spustit aplikaci Databricks napříč několika instancemi za jedinou adresou URL aplikace pro zajištění vyšší dostupnosti a souběžnosti.
Horizontální škálování distribuuje požadavky mezi instance, takže selhání nebo restartování jedné instance nepřevádí aplikaci do offline režimu. Výpočetní náklady se škálují lineárně s počtem instancí.
Mezi další výhody patří:
- Spřažení relací: Každý požadavek ze stejného uživatele směruje na stejnou instanci na základě maximálního úsilí, aby aplikace v dané instanci zachovala krátkodobá data pro jednotlivé uživatele (například mezipaměť v paměti). Také se označuje jako perzistentní relace. Viz spřažení relace.
- Nasazení bez výpadku: Azure Databricks nejprve zavede nové nasazení na instanci sestavení a zbývající instance aktualizuje teprve poté, co je nasazení na této instanci úspěšné. Stávající instance nadále po celou dobu obsluhují provoz.
- Stabilní mezipaměť sestavení: Azure Databricks zachovává artefakty nasazení při aktualizacích výpočetních prostředků (například když změníte velikost instance nebo jejich počet), takže aplikace nevyžaduje úplné opětovné sestavení.
Requirements
Následující požadavky platí pro všechny horizontálně škálované aplikace:
- Během beta verze musí vaše aplikace naslouchat na
0.0.0.0(ne na127.0.0.1anilocalhost).
Vytvoření horizontálně škálované aplikace
Vytvoření aplikace s povoleným horizontálním škálováním:
- V pracovním prostoru Azure Databricks klikněte na
a vyberte Databricks Apps.
- Klikněte na + Vytvořit aplikaci a potom klikněte na Vytvořit vlastní aplikaci.
- Zadejte název a nakonfigurujte aplikaci podle popisu v části Vytvoření vlastní aplikace Databricks.
- V kroku Konfigurace vyberte Povolit horizontální škálování.
- Zadejte počet instancí (1–5). Azure Databricks doporučuje pro dostupnost alespoň 2 instance.
- Klikněte na Vytvořit aplikaci.
Povolení horizontálního škálování pro jednu aplikaci nemá vliv na žádné jiné aplikace v pracovním prostoru.
Nově vytvořené horizontálně škálované aplikace nezahrnují předem nainstalované Python knihovny. Deklarujte všechny závislosti v requirements.txt nebo pyproject.toml. Viz Správa závislostí pro aplikaci Databricks.
Převedení standardní aplikace na použití horizontálního škálování
Převeďte existující standardní aplikaci na aplikaci s horizontálním škálováním na kartě Nastavení. Převod nezpůsobí žádný výpadek. Vaše stávající standardní aplikace bude dál obsluhovat provoz, dokud nové horizontálně škálované nasazení neprojde kontrolami stavu, a poté Azure Databricks přesměruje provoz na něj.
Převod je reverzibilní. Horizontálně škálovanou aplikaci můžete převést zpět na standardní aplikaci ze stejné karty Nastavení .
Chování konverze
Při převodu platí následující chování:
- Počet instancí je nastaven na hodnotu 1. Po převodu můžete počet změnit (až 5). Viz Spravovat počet instancí.
- Převedená aplikace nadále používá předinstalované knihovny Python, aby stávající závislosti nadále fungovaly. Pokud chcete místo toho spustit čistou základní image operačního systému, odhlaste se po převodu. Viz Odhlášení předinstalovaných knihoven Pythonu pro aplikace Databricks.
Otestování převodu
Převod změní bitovou kopii běhového prostředí vaší aplikace a model škálování. Před převodem produkční aplikace ověřte změnu u duplikátu:
- Vytvořte duplikát standardní aplikace, kterou chcete převést.
- Převeďte duplikát pomocí následujícího postupu.
- Ověřte, že aplikace funguje podle očekávání na převedené kopii. Zkontrolujte logy, provoz a veškeré chování související s afinitou relací.
- Po ověření převeďte aplikaci do produkčního prostředí.
Převod standardní aplikace
Převod standardní aplikace na horizontálně škálovanou:
- V pracovním prostoru Azure Databricks klikněte na
a vyberte Databricks Apps.
- Klikněte na název aplikace, kterou chcete převést.
- Klikněte na kartu Settings (Nastavení).
- V části Výpočty vyberte Povolit horizontální škálování. Azure Databricks nastaví počet instancí na 1, což se vyžaduje při převodu.
- Klikněte na Uložit.
Azure Databricks spustí novou horizontálně škálovanou výpočetní kapacitu a pak na ni znovu nasadí vaši aplikaci. Celková doba závisí na době trvání sestavení vaší aplikace. Stávající aplikace po celou dobu nadále obsluhuje provoz.
Po dokončení převodu můžete vertikálně navýšit kapacitu nebo se odhlásit z předinstalovaných knihoven.
Spravovat počet instancí
Změna počtu instancí pro horizontálně škálovanou aplikaci:
- Na stránce podrobností aplikace klikněte na Upravit.
- V kroku Konfigurace aktualizujte počet instancí.
- Klikněte na Uložit.
Aplikace bude dál obsluhovat provoz, zatímco Azure Databricks změnu použije.
Afinitnost relací
Spřažení relací směruje všechny požadavky od stejného uživatele do stejné instance, kdykoli je to možné. Aplikace může pomocí tohoto směrování uchovávat krátkodobá data pro jednotlivé uživatele (například mezipaměť v paměti nebo dočasné soubory v místním systému souborů) v instanci, která zpracovává relaci daného uživatele. Afinitní relace se také označuje jako lepivé relace.
Afinita relace funguje na principu best-effort. Neukládejte do místního stavu instance nic, co nedokážete znovu vytvořit ani načíst z trvalého úložiště. Ukládejte veškerá data, která musí přetrvat relaci, do trvalého úložiště, například do tabulek Unity Catalog.
Data můžete také uchovávat pomocí Lakebase.
Aplikace založené na prohlížeči
Spřažení relací funguje automaticky pro aplikace založené na prohlížeči. První požadavek z prohlížeče směruje na náhodně vybranou instanci, která nastaví __Host-databricks-app-router soubor cookie. Následné požadavky s tímto souborem cookie se směrují do stejné instance.
Klienti rozhraní API
Chcete-li pro klienty rozhraní API zajistit afinitu relace, zahrňte cookie __Host-databricks-app-router do každého požadavku a nastavte ji na náhodně vygenerované UUID. Všechny požadavky se stejnou hodnotou cookie směrují do stejné instance.
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"
Opětovné přiřazení relace
Relace se mohou přesunout do jiné instance v následujících případech:
- Instance se stane nedostupnou (například během nasazení nebo chybového ukončení).
- Změníte počet instancí.
- Azure Databricks znovu vyrovnává relace napříč instancemi.
- Jednotlivý požadavek je chybně směrován (vzácně).
Omezení
Následující omezení platí pro horizontálně škálované aplikace:
- Každý pracovní prostor může mít maximálně 5 horizontálně škálovaných aplikací. Pokud chcete tento limit zvýšit, obraťte se na svého zástupce Azure Databricks.
- Každá horizontálně škálovaná aplikace může mít maximálně 5 instancí. Pokud chcete tento limit zvýšit, obraťte se na svého zástupce Azure Databricks.
- Na kartě Protokoly se zobrazují protokoly z jedné instance najednou. Pokud chcete zobrazit protokoly napříč všemi instancemi, povolte telemetrii aplikací.