Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Important
Fitur ini ada di Beta. Untuk meminta akses, hubungi perwakilan Azure Databricks Anda. Setelah fitur diaktifkan, admin ruang kerja dapat mengontrol akses ke fitur tersebut dari halaman Pratinjau . Lihat Kelola Pratinjau Azure Databricks.
Halaman ini menjelaskan cara menjalankan aplikasi Databricks di beberapa instans di belakang satu URL aplikasi untuk ketersediaan dan konkurensi yang lebih tinggi.
Penskalakan horizontal mendistribusikan permintaan di seluruh instans, sehingga kegagalan instans tunggal atau mulai ulang tidak membuat aplikasi offline. Biaya komputasi meningkat secara linier seiring dengan jumlah instans.
Manfaat tambahan meliputi:
- Afinitas sesi: Setiap permintaan dari pengguna yang sama diarahkan ke instans yang sama sebisa mungkin, sehingga aplikasi dapat menyimpan data per pengguna yang berumur singkat (misalnya, cache dalam memori) pada instans tersebut. Juga dikenal sebagai sesi lengket. Lihat Afinitas sesi.
- Deployment tanpa waktu henti: Azure Databricks meluncurkan deployment baru terlebih dahulu ke instans build, dan hanya memperbarui instans lainnya setelah instans build tersebut berhasil. Instans yang ada terus melayani lalu lintas di seluruh.
- Stable build cache: Azure Databricks mempertahankan artefak penyebaran di seluruh pembaruan komputasi (misalnya, saat Anda mengubah ukuran atau jumlah instans), sehingga aplikasi tidak memerlukan pembangunan ulang penuh.
Requirements
Persyaratan berikut berlaku untuk semua aplikasi yang diskalakan secara horizontal:
- Selama periode Beta, aplikasi Anda harus mendengarkan pada
0.0.0.0(bukan127.0.0.1ataulocalhost).
Membuat aplikasi berskala horizontal
Untuk membuat aplikasi dengan penskalakan horizontal diaktifkan:
- Di ruang kerja Azure Databricks Anda, klik pengalih aplikasi
dan pilih Databricks Apps.
- Klik + Buat aplikasi, lalu klik Buat aplikasi kustom.
- Masukkan nama dan konfigurasikan aplikasi seperti yang dijelaskan di Membuat aplikasi Databricks kustom.
- Di langkah Konfigurasikan , pilih Aktifkan penskalakan horizontal.
- Tentukan Jumlah instans (1–5). Azure Databricks merekomendasikan setidaknya 2 instans untuk ketersediaan.
- Klik Buat aplikasi.
Mengaktifkan penskalaan horizontal untuk satu aplikasi tidak memengaruhi aplikasi lain di ruang kerja.
Aplikasi berskala horizontal yang baru dibuat tidak menyertakan pustaka Python yang telah diinstal sebelumnya. Deklarasikan semua dependensi di requirements.txt atau pyproject.toml. Lihat Mengelola dependensi untuk aplikasi Databricks.
Mengonversi aplikasi standar untuk menggunakan penskalakan horizontal
Konversikan aplikasi standar yang ada ke aplikasi berskala horizontal dari tab Pengaturan . Konversi tidak memperkenalkan waktu henti. Aplikasi standar Anda saat ini tetap menangani lalu lintas hingga deployment baru yang diskalakan secara horizontal lulus pemeriksaan kesehatan, dan pada saat itu Azure Databricks mengalihkan lalu lintas ke deployment tersebut.
Konversi dapat dibalik. Anda dapat mengonversi aplikasi berskala horizontal kembali ke aplikasi standar dari tab Pengaturan yang sama.
Perilaku konversi
Perilaku berikut berlaku pada waktu konversi:
- Jumlah instans diatur ke 1. Setelah konversi, Anda dapat mengubah jumlah (hingga 5). Lihat Mengelola jumlah instans.
- Aplikasi yang dikonversi terus menggunakan pustaka Python yang telah diinstal sebelumnya sehingga dependensi yang ada terus berfungsi. Untuk berjalan pada gambar OS dasar bersih, pilih keluar setelah konversi. Lihat Menonaktifkan pustaka Python prainstal untuk aplikasi Databricks.
Menguji konversi
Konversi mengubah citra runtime aplikasi Anda dan model penskalaannya. Sebelum mengonversi aplikasi produksi, validasi perubahan pada duplikat:
- Buat duplikat aplikasi standar yang ingin Anda konversi.
- Konversi duplikat menggunakan langkah-langkah berikut.
- Verifikasi bahwa aplikasi berfungsi seperti yang diharapkan pada duplikat yang dikonversi. Periksa log, trafik, dan segala perilaku afinitas sesi.
- Konversi aplikasi produksi setelah validasi.
Mengonversi aplikasi standar
Untuk mengonversi aplikasi standar ke skala horizontal:
- Di ruang kerja Azure Databricks Anda, klik pengalih aplikasi
dan pilih Databricks Apps.
- Klik nama aplikasi yang ingin Anda konversi.
- Klik tab Pengaturan.
- Di bawah Komputasi, pilih Aktifkan penskalaan horizontal. Azure Databricks mengatur jumlah instans ke 1, yang diperlukan pada waktu konversi.
- Kliklah Simpan.
Azure Databricks menyediakan sumber daya komputasi baru yang diskalakan secara horizontal, lalu menerapkan ulang aplikasi Anda di atasnya. Total waktu tergantung pada durasi build aplikasi Anda. Aplikasi yang ada tetap menangani trafik selama proses berlangsung.
Setelah konversi selesai, Anda dapat meningkatkan skala atau memilih untuk tidak menggunakan pustaka prainstal.
Mengelola jumlah instans
Untuk mengubah jumlah instans untuk aplikasi berskala horizontal:
- Pada halaman detail aplikasi, klik Edit.
- Pada langkah Konfigurasi , perbarui Jumlah instans.
- Kliklah Simpan.
Aplikasi terus melayani lalu lintas saat Azure Databricks menerapkan perubahan.
Afinitas sesi
Afinitas sesi mengarahkan setiap permintaan yang berasal dari pengguna yang sama ke instans yang sama jika memungkinkan. Aplikasi dapat menggunakan mekanisme perutean ini untuk menyimpan data per pengguna yang hanya bertahan sementara (misalnya, cache dalam memori atau file sementara pada sistem file lokal) di instans yang menangani sesi pengguna itu. Afinitas sesi juga dikenal sebagai sesi lengket.
Afinitas sesi adalah upaya terbaik. Jangan simpan apa pun di status lokal instans yang tidak dapat Anda rekonstruksi atau ambil dari penyimpanan persisten. Simpan data apa pun yang harus tetap ada setelah sesi berakhir dalam penyimpanan yang tahan lama seperti tabel Unity Catalog.
Anda juga dapat menyimpan data dengan Lakebase.
Aplikasi berbasis browser
Afinitas sesi berfungsi secara otomatis untuk aplikasi berbasis browser. Permintaan pertama dari browser diarahkan ke instans yang dipilih secara acak, yang menetapkan cookie __Host-databricks-app-router. Permintaan berikutnya yang menggunakan cookie tersebut akan diarahkan ke instans yang sama.
Klien API
Untuk mendapatkan afinitas sesi untuk klien API, sertakan __Host-databricks-app-router cookie dalam setiap permintaan dan atur ke UUID yang dihasilkan secara acak. Semua permintaan dengan rute nilai cookie yang sama ke instans yang sama.
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"
Penugasan ulang sesi
Sesi dapat berpindah ke instans yang berbeda dalam kasus berikut:
- Instans menjadi tidak tersedia (misalnya, saat penerapan atau kegagalan sistem).
- Anda mengubah jumlah instans.
- Azure Databricks menyeimbangkan kembali sesi di seluruh instans.
- Permintaan individu salah dialihkan (jarang terjadi).
Keterbatasan
Batasan berikut berlaku untuk aplikasi berskala horizontal:
- Setiap ruang kerja dapat memiliki paling banyak 5 aplikasi berskala horizontal. Hubungi perwakilan Azure Databricks Anda untuk menaikkan batas ini.
- Setiap aplikasi berskala horizontal dapat memiliki paling banyak 5 instans. Hubungi perwakilan Azure Databricks Anda untuk menaikkan batas ini.
- Tab Log memperlihatkan log dari satu instans pada satu waktu. Untuk melihat log di semua instans, aktifkan telemetri aplikasi.