Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Important
Deze functie bevindt zich in de bètaversie. Als u toegang wilt aanvragen, neemt u contact op met uw Azure Databricks vertegenwoordiger. Nadat de functie is ingeschakeld, kunnen werkruimtebeheerders de toegang tot deze functie beheren via de pagina Previews . Zie Azure Databricks previews beheren.
Op deze pagina wordt beschreven hoe u een Databricks-app uitvoert op meerdere exemplaren achter één app-URL voor hogere beschikbaarheid en gelijktijdigheid.
Horizontaal schalen verdeelt aanvragen over exemplaren, zodat één exemplaarfout of opnieuw opstarten de app niet offline brengt. De berekeningskosten nemen lineair toe met het aantal instanties.
Aanvullende voordelen zijn onder andere:
- Sessieaffiniteit: elke aanvraag van dezelfde gebruiker routeert naar hetzelfde exemplaar op basis van best effort, zodat een app gegevens per gebruiker (bijvoorbeeld een cache in het geheugen) op dat exemplaar kort kan houden. Ook wel plaksessies genoemd. Zie Sessieaffiniteit.
- Implementaties zonder downtime: Azure Databricks rolt eerst een nieuwe implementatie uit naar een buildinstantie en werkt de resterende instanties pas bij nadat die buildinstantie succesvol is gebleken. De bestaande instanties blijven gedurende het hele proces verkeer verwerken.
- Stable-buildcaches: Azure Databricks behoudt implementatieartefacten voor berekeningsupdates (bijvoorbeeld wanneer u de grootte of het aantal exemplaren wijzigt), zodat de app geen volledige herbouw nodig heeft.
Requirements
De volgende vereisten zijn van toepassing op alle horizontaal geschaalde apps:
- Tijdens de bètaperiode moet uw app luisteren op
0.0.0.0(niet127.0.0.1oflocalhost).
Een horizontaal geschaalde app maken
Een app maken waarvoor horizontaal schalen is ingeschakeld:
- Klik in uw Azure Databricks werkruimte op het pictogram
app-switcher en selecteer Databricks Apps.
- Klik op +App maken en klik vervolgens op Een aangepaste app maken.
- Voer een naam in en configureer de app zoals beschreven in Een aangepaste Databricks-app maken.
- Selecteer in de stap Configurerende optie Horizontaal schalen inschakelen.
- Geef het aantal exemplaren (1-5) op. Azure Databricks raadt ten minste twee exemplaren aan voor beschikbaarheid.
- Klik op App maken.
Het inschakelen van horizontaal schalen voor één app heeft geen invloed op andere apps in de werkruimte.
Nieuw gemaakte horizontaal geschaalde apps bevatten niet de vooraf geïnstalleerde Python bibliotheken. Alle afhankelijkheden in requirements.txt of pyproject.tomldeclareren. Zie Afhankelijkheden beheren voor een Databricks-app.
Een standaard-app converteren om horizontaal schalen te gebruiken
Converteer een bestaande standaard-app naar een horizontaal geschaalde app op het tabblad Instellingen . Conversie introduceert geen downtime. Uw bestaande standaard-app blijft verkeer verwerken totdat de nieuwe horizontaal geschaalde uitrol de gezondheidscontroles doorstaat, waarna Azure Databricks het verkeer overschakelt.
Conversie is omkeerbaar. U kunt een horizontaal geschaalde app weer converteren naar een standaard-app vanaf hetzelfde tabblad Instellingen .
Conversiegedrag
Het volgende gedrag is van toepassing op conversietijd:
- Het aantal exemplaren is ingesteld op 1. Na de conversie kunt u het aantal wijzigen (maximaal 5). Zie Het aantal exemplaren beheren.
- De geconverteerde app blijft de vooraf geïnstalleerde Python bibliotheken gebruiken, zodat bestaande afhankelijkheden blijven werken. Als u in plaats daarvan een schoon basisimage van het besturingssysteem wilt gebruiken, meldt u zich na de conversie af. Zie Afmelden voor vooraf geïnstalleerde Python-bibliotheken voor Databricks-apps.
Test de conversie
Conversie verandert de runtime-image en het schaalmodel van uw app. Voordat u een productie-app converteert, valideert u de wijziging op een duplicaat:
- Maak een duplicaat van de standaard-app die u wilt converteren.
- Converteer het duplicaat met behulp van de volgende stappen.
- Controleer of de app werkt zoals verwacht op het geconverteerde duplicaat. Controleer logboeken, verkeer en eventuele sessieaffiniteitsgedrag.
- Converteer de productie-app na validatie.
Een standaard-app converteren
Een standaard-app converteren naar horizontaal geschaald:
- Klik in uw Azure Databricks werkruimte op het pictogram
app-switcher en selecteer Databricks Apps.
- Klik op de naam van de app die u wilt converteren.
- Klik op het tabblad Instellingen .
- Selecteer onder Computede optie Horizontaal schalen inschakelen. Azure Databricks stelt het aantal exemplaren in op 1, wat vereist is tijdens de conversie.
- Klik op Opslaan.
Azure Databricks start nieuwe horizontaal geschaalde rekenresources en implementeert vervolgens uw app er opnieuw op. De totale tijd is afhankelijk van de buildduur van uw app. De bestaande app blijft gedurende het hele proces verkeer verwerken.
Nadat de conversie is voltooid, kunt u omhoog schalen of afmelden voor vooraf geïnstalleerde bibliotheken.
Het aantal exemplaren beheren
Het aantal exemplaren voor een horizontaal geschaalde app wijzigen:
- Klik op de pagina met app-details op Bewerken.
- Werk in de stap Configureren het aantal exemplaren bij.
- Klik op Opslaan.
De app blijft verkeer leveren terwijl Azure Databricks de wijziging toepast.
Sessieaffiniteit
Sessieaffiniteit routeert elke aanvraag van dezelfde gebruiker naar hetzelfde exemplaar, indien mogelijk. Een app kan deze routering gebruiken om kortdurende gegevens per gebruiker (bijvoorbeeld een cache in het geheugen of tijdelijke bestanden in het lokale bestandssysteem) op te slaan op het exemplaar dat de sessie van die gebruiker verwerkt. Sessieaffiniteit wordt ook wel plaksessies genoemd.
Sessieaffiniteit wordt niet gegarandeerd. Sla niets op in exemplaar-lokale staat die u niet kunt reconstrueren of ophalen uit een duurzame winkel. Bewaar alle gegevens die een sessie in een duurzame opslag moeten overleven, zoals Unity Catalog-tabellen.
U kunt ook gegevens behouden met Lakebase.
Browsergebaseerde apps
Sessieaffiniteit werkt automatisch voor browser-apps. De eerste aanvraag van een browser routeert naar een willekeurig geselecteerd exemplaar, waarmee de __Host-databricks-app-router cookie wordt ingesteld. Latere aanvragen met die cookie worden naar dezelfde instantie gerouteerd.
API-clients
Als u sessieaffiniteit voor API-clients wilt ophalen, neemt u de __Host-databricks-app-router cookie op in elke aanvraag en stelt u deze in op een willekeurig gegenereerde UUID. Alle aanvragen met dezelfde cookiewaarde worden doorgestuurd naar dezelfde instantie.
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"
Opnieuw toewijzen van sessies
Sessies kunnen in de volgende gevallen naar een andere instantie verhuizen:
- Een exemplaar is niet meer beschikbaar (bijvoorbeeld tijdens de implementatie of een crash).
- U wijzigt het aantal exemplaren.
- Azure Databricks sessies opnieuw verdelen over exemplaren.
- Een afzonderlijke aanvraag wordt verkeerd omgeleid (zeldzaam).
Limitations
De volgende beperkingen gelden voor horizontaal geschaalde apps:
- Elke werkruimte kan maximaal 5 horizontaal geschaalde apps hebben. Neem contact op met uw Azure Databricks vertegenwoordiger om deze limiet te verhogen.
- Elke horizontaal geschaalde app kan maximaal vijf exemplaren hebben. Neem contact op met uw Azure Databricks vertegenwoordiger om deze limiet te verhogen.
- Op het tabblad Logboeken worden logboeken van één exemplaar tegelijk weergegeven. Als u logboeken in alle exemplaren wilt weergeven, schakelt u app-telemetrie in.