Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważna
Ta funkcja jest dostępna w wersji beta. Aby zażądać dostępu, skontaktuj się z przedstawicielem Azure Databricks. Po włączeniu tej funkcji administratorzy obszaru roboczego mogą kontrolować dostęp do niej ze strony Podglądy . Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.
Na tej stronie opisano, jak uruchomić aplikację Databricks w wielu instancjach pod jednym adresem URL aplikacji, aby zapewnić większą dostępność i współbieżność.
Skalowanie poziome rozkłada żądania na instancje, więc awaria lub ponowne uruchomienie pojedynczej instancji nie powoduje niedostępności aplikacji. Koszt obliczeniowy rośnie liniowo wraz z liczbą instancji.
Dodatkowe korzyści obejmują:
- Powinowactwo sesji: każde żądanie od tego samego użytkownika jest w miarę możliwości kierowane do tej samej instancji, dzięki czemu aplikacja może przechowywać na tej instancji krótkotrwałe dane przypisane do użytkownika (na przykład pamięć podręczną w pamięci). Znane również jako sesje trwałe. Zobacz Trwałość sesji.
- Wdrożenia bez przestojów: Azure Databricks najpierw wdraża nową wersję do jednego wystąpienia kompilacyjnego, a pozostałe wystąpienia aktualizuje dopiero wtedy, gdy wdrożenie na tym wystąpieniu zakończy się pomyślnie. Istniejące instancje nadal obsługują ruch przez cały ten czas.
- Stabilne pamięci podręczne kompilacji: Azure Databricks zachowuje artefakty wdrożenia podczas aktualizacji zasobów obliczeniowych (na przykład przy zmianie rozmiaru instancji lub ich liczby), więc aplikacja nie wymaga pełnego przebudowania.
Requirements
Następujące wymagania dotyczą wszystkich aplikacji skalowanych w poziomie:
- W okresie testów beta aplikacja musi nasłuchiwać na
0.0.0.0(a nie na127.0.0.1anilocalhost).
Tworzenie aplikacji skalowanej w poziomie
Aby utworzyć aplikację z włączonym skalowaniem w poziomie:
- W obszarze roboczym Azure Databricks kliknij przełącznik
i wybierz Databricks Apps.
- Kliknij pozycję + Utwórz aplikację, a następnie kliknij pozycję Utwórz aplikację niestandardową.
- Wprowadź nazwę i skonfiguruj aplikację zgodnie z opisem w artykule Tworzenie niestandardowej aplikacji Databricks.
- W kroku Konfigurowanie wybierz pozycję Włącz skalowanie w poziomie.
- Określ liczbę wystąpień (1–5). Azure Databricks zaleca co najmniej 2 wystąpienia w celu zapewnienia dostępności.
- Kliknij pozycję Utwórz aplikację.
Włączenie skalowania w poziomie dla jednej aplikacji nie ma wpływu na żadne inne aplikacje w obszarze roboczym.
Nowo utworzone aplikacje skalowane w poziomie nie obejmują wstępnie zainstalowanych bibliotek Python. Zadeklaruj wszystkie zależności w elemencie requirements.txt lub pyproject.toml. Zobacz Zarządzanie zależnościami dla aplikacji usługi Databricks.
Konwertowanie standardowej aplikacji w celu używania skalowania w poziomie
Przekonwertuj istniejącą aplikację standardową na aplikację skalowaną w poziomie z karty Ustawienia . Konwersja nie powoduje przestoju. Istniejąca aplikacja standardowa nadal obsługuje ruch, dopóki nowe wdrożenie skalowane w poziomie nie przejdzie kontroli kondycji, w którym Azure Databricks ograniczy ruch.
Konwersja jest odwracalna. Aplikację skalowaną w poziomie można przekonwertować z powrotem na aplikację standardową na tej samej karcie Ustawienia .
Zachowanie konwersji
Następujące zachowanie ma zastosowanie w czasie konwersji:
- Liczba wystąpień jest ustawiona na 1. Po konwersji można zmienić liczbę (maksymalnie 5). Zobacz Zarządzanie liczbą wystąpień.
- Przekonwertowana aplikacja nadal korzysta ze wstępnie zainstalowanych bibliotek Python, dzięki czemu istniejące zależności nadal działają. Aby zamiast tego uruchamiać system z czystego bazowego obrazu systemu operacyjnego, zrezygnuj z tego po konwersji. Zobacz Jak zrezygnować ze wstępnie zainstalowanych bibliotek Pythona w aplikacjach Databricks.
Testowanie konwersji
Konwersja zmienia obraz środowiska uruchomieniowego aplikacji i model skalowania. Przed przekonwertowaniem aplikacji produkcyjnej zweryfikuj zmianę na duplikat:
- Utwórz duplikat standardowej aplikacji, którą chcesz przekonwertować.
- Przekonwertuj duplikat, wykonując następujące kroki.
- Sprawdź, czy aplikacja działa zgodnie z oczekiwaniami w przypadku przekonwertowanego duplikatu. Sprawdź logi, ruch oraz wszelkie zachowania związane z lepkością sesji.
- Przekonwertuj aplikację produkcyjną po weryfikacji.
Konwertowanie standardowej aplikacji
Aby przekonwertować standardową aplikację na skalowaną w poziomie:
- W obszarze roboczym Azure Databricks kliknij przełącznik
i wybierz Databricks Apps.
- Kliknij nazwę aplikacji, którą chcesz przekonwertować.
- Kliknij kartę Ustawienia.
- W obszarze Obliczenia wybierz pozycję Włącz skalowanie w poziomie. Azure Databricks ustawia liczbę wystąpień na 1 która jest wymagana w czasie konwersji.
- Kliknij przycisk Zapisz.
Azure Databricks uruchamia nowe zasoby obliczeniowe skalowane poziomo, a następnie ponownie wdraża na nich aplikację. Łączny czas zależy od czasu trwania kompilacji aplikacji. Istniejąca aplikacja nadal obsługuje ruch przez cały czas.
Po zakończeniu konwersji można skalować w górę lub zrezygnować ze wstępnie zainstalowanych bibliotek.
Zarządzanie liczbą wystąpień
Aby zmienić liczbę wystąpień aplikacji skalowanej w poziomie:
- Na stronie szczegółów aplikacji kliknij pozycję Edytuj.
- W kroku Konfigurowanie zaktualizuj liczbę wystąpień.
- Kliknij przycisk Zapisz.
Aplikacja nadal obsługuje ruch, podczas gdy Azure Databricks stosuje zmianę.
Afiniczność sesji
Afinita sesji kieruje wszystkie żądania tego samego użytkownika do tej samej instancji, gdy tylko jest to możliwe. Aplikacja może używać tego mechanizmu trasowania, aby przechowywać krótkotrwałe dane przypisane do użytkownika (na przykład pamięć podręczną przechowywaną w pamięci lub pliki tymczasowe w lokalnym systemie plików) na instancji obsługującej sesję tego użytkownika. Koligacja sesji jest również znana jako sesje "sticky".
Koligacja sesji jest najlepszym rozwiązaniem. Nie przechowuj niczego w lokalnym stanie instancji, czego nie da się odtworzyć ani pobrać z trwałego magazynu danych. Przechowuj wszystkie dane, które muszą być dostępne po zakończeniu sesji, w trwałym magazynie danych, takim jak tabele Unity Catalog.
Dane można również utrwalać za pomocą usługi Lakebase.
Aplikacje oparte na przeglądarce
Koligacja sesji działa automatycznie w przypadku aplikacji opartych na przeglądarce. Pierwsze żądanie z przeglądarki jest kierowane do losowo wybranej instancji, która ustawia plik cookie __Host-databricks-app-router. Kolejne żądania z tym plikiem cookie są kierowane do tej samej instancji.
Klienci interfejsu API
Aby uzyskać afinitę sesji dla klientów interfejsu API, dołącz plik cookie __Host-databricks-app-router do każdego żądania i ustaw jego wartość na losowo wygenerowany identyfikator UUID. Wszystkie żądania z tą samą wartością cookie są przekierowywane do tej samej instancji.
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"
Ponowne przypisywanie sesji
Sesje mogą zostać przeniesione do innej instancji w następujących przypadkach:
- Instancja staje się niedostępna (na przykład podczas wdrożenia lub awarii).
- Zmieniasz liczbę wystąpień.
- Azure Databricks ponownie równoważy sesje między wystąpieniami.
- Pojedyncze żądanie jest błędnie przekierowywane (rzadkie).
Ograniczenia
Następujące ograniczenia dotyczą aplikacji skalowanych w poziomie:
- Każdy obszar roboczy może mieć co najwyżej 5 aplikacji skalowanych horyzontalnie. Skontaktuj się z przedstawicielem Azure Databricks, aby podnieść ten limit.
- Każda aplikacja skalowana w poziomie może mieć co najwyżej 5 wystąpień. Skontaktuj się z przedstawicielem Azure Databricks, aby podnieść ten limit.
- Na karcie Dzienniki są wyświetlane dzienniki tylko z jednego wystąpienia naraz. Aby wyświetlić dzienniki ze wszystkich instancji, włącz telemetrię aplikacji.