Slot penyebaran Azure Functions
Slot penyebaran Azure Functions memungkinkan aplikasi fungsi Anda menjalankan berbagai instans yang disebut slot. Slot adalah lingkungan yang berbeda yang diekspos melalui titik akhir yang tersedia untuk umum. Satu instans aplikasi selalu dipetakan ke slot produksi, dan Anda dapat menukar instans yang ditetapkan ke slot sesuai permintaan.
Jumlah slot yang tersedia tergantung pada opsi hosting spesifik Anda:
Opsi Hosting | Slot (termasuk produksi) |
---|---|
Paket Konsumsi | 2 |
Paket Konsumsi Flex | Saat ini tidak didukung |
Paket premium | 3 |
Paket (App Service) khusus | 1-20 |
Aplikasi Kontainer | Menggunakan Revisi |
Berikut ini mencerminkan bagaimana fungsi dipengaruhi dengan bertukar (swap) slot:
- Pengalihan lalu lintas mulus; tidak ada permintaan yang dibatalkan karena pertukaran. Perilaku mulus ini terjadi karena pemicu fungsi berikutnya dirutekan ke slot yang ditukar.
- Fungsi yang sedang dijalankan dihentikan selama pertukaran. Untuk mempelajari cara menulis fungsi stateless dan defensif, lihat Meningkatkan performa dan keandalan Azure Functions.
Mengapa menggunakan slot?
Ada banyak keuntungan menggunakan slot penyebaran, termasuk:
- Lingkungan yang berbeda untuk tujuan yangberbeda: Menggunakan slot yang berbeda memberi Anda kesempatan untuk membedakan instans aplikasi sebelum bertukar ke produksi atau slot pementasan.
- Prapemanasan: Deploying ke slot alih-alih langsung ke produksi memungkinkan aplikasi untuk melakukan pemanasan sebelum ditayangkan. Selain itu, menggunakan slot mengurangi latensi untuk beban kerja yang dipicu HTTP. Instans dihangatkan sebelum penyebaran, yang mengurangi cold start untuk fungsi yang baru diterapkan.
- Penarikan kembali yang mudah:Setelah bertukar dengan produksi, slot dengan aplikasi yang sebelumnya ditempakan sekarang memiliki aplikasi produksi sebelumnya. Jika perubahan yang ditukar ke slot produksi tidak seperti yang Anda harapkan, Anda dapat segera membalikkan swap untuk mendapatkan kembali "instans baik terakhir yang diketahui".
- Meminimalkan mulai ulang: Mengubah pengaturan aplikasi di slot produksi memerlukan mulai ulang aplikasi yang sedang berjalan. Anda dapat mengubah pengaturan di slot penahapan dan menukar pengaturan berubah menjadi produksi dengan instans yang telah dimulai sebelumnya. Slot adalah cara yang disarankan untuk bermigrasi antara versi runtime Functions sambil mempertahankan ketersediaan tertinggi. Untuk mempelajari selengkapnya, lihat Pembaruan waktu henti minimum.
Operasi penukaran
Selama pertukaran, satu slot dianggap sebagai sumber dan yang lainnya adalah target. Slot sumber memiliki instans aplikasi untuk diterapkan ke slot target. Langkah-langkah berikut memastikan slot target tidak mengalami downtime selama pertukaran:
Terapkan setelan: Pengaturan dari slot target diterapkan ke semua instans slot sumber. Misalnya, pengaturan produksi diterapkan ke penempatan instans. Pengaturan yang diterapkan mencakup kategori berikut:
- Pengaturan aplikasi Slot-khususi dan string koneksi (jika berlaku)
- Pengaturan Penyebaran berkelanjutan (jika diaktifkan)
- Pengaturan Autentikasi App Service (jika diaktifkan)
Tunggu mulai ulang dan ketersediaan: Swap menunggu setiap instans di slot sumber untuk menyelesaikan restart dan tersedia untuk permintaan. Jika ada instans yang gagal memulai ulang, operasi pertukaran mengembalikan semua perubahan ke slot sumber dan menghentikan operasi.
Pembaruan perutean: Jika semua instans pada slot sumber berhasil dihangatkan, kedua slot menyelesaikan swap dengan mengalihkan aturan perutean. Setelah langkah ini, slot target (misalnya, slot produksi) memiliki aplikasi yang sebelumnya dihangatkan di slot sumber.
Ulangi operasi: Sekarang slot sumber memiliki aplikasi preswap sebelumnya di slot target, selesaikan operasi yang sama dengan menerapkan semua pengaturan dan memulai ulang instans untuk slot sumber.
Perlu diingat poin-poin berikut:
Pada setiap titik operasi swap, inisialisasi aplikasi yang ditukar terjadi pada slot sumber. Slot target tetap online selagi slot sumber disiapkan, apakah swap berhasil atau gagal.
Untuk menukar slot pementasan dengan slot produksi, pastikan slot produksi selalu menjadi slot target. Dengan cara ini, operasi pertukaran tidak memengaruhi aplikasi produksi Anda.
Pengaturan yang terkait dengan sumber peristiwa dan pengikatan harus dikonfigurasi sebagai pengaturan slot penyebaransebelum Anda memulai swap. Menandai mereka sebagai "lengket" sebelumnya memastikan peristiwa dan output diarahkan ke instans yang tepat.
Saat Anda membuat slot penahapan baru, semua pengaturan yang ada dari slot produksi dibuat di slot baru, terlepas dari kelekatan pengaturan.
Kelola pengaturan
Beberapa pengaturan konfigurasi adalah khusus-slot. Yang berikut ini mencantumkan detail pengaturan mana yang berubah saat Anda bertukar slot, dan mana yang tetap sama.
Pengaturan khusus slot:
- Titik akhir penerbitan
- Nama domain kustom
- Sertifikat nonpublik dan pengaturan TLS/SSL
- Pengaturan skala
- Batasan IP
- Grup Ketersediaan AlwaysOn
- Pengaturan diagnostik
- Berbagi sumber daya lintas asal (CORS)
- Titik Akhir Privat
Pengaturan khusus non slot-spesifik:
- Pengaturan umum, seperti versi kerangka kerja, 32/64-bit, soket web
- Pengaturan aplikasi (dapat dikonfigurasi untuk melekat pada slot)
- String koneksi (dapat dikonfigurasi untuk melekat pada slot)
- Pemetaan handler
- Sertifikat publik
- Hybrid Connections *
- Integrasi jaringan virtual *
- Titik akhir layanan *
- Azure Content Delivery Network *
Fitur yang ditandai dengan tanda bintang (*) tidak ditukar, berdasarkan desain.
Catatan
Pengaturan aplikasi tertentu yang berlaku untuk pengaturan yang tidak ditukarkan juga tidak ditukar. Misalnya, karena pengaturan diagnostik tidak ditukar, pengaturan aplikasi terkait seperti WEBSITE_HTTPLOGGING_RETENTION_DAYS
dan DIAGNOSTICS_AZUREBLOBRETENTIONDAYS
juga tidak ditukar, meskipun pengaturan itu tidak muncul sebagai pengaturan slot.
Membuat pengaturan penyebaran
Anda dapat menandai pengaturan sebagai pengaturan penyebaran, yang membuatnya lengket. Pengaturan lekat tidak bertukar dengan instans aplikasi.
Jika Anda membuat pengaturan penyebaran dalam satu slot, pastikan untuk membuat pengaturan yang sama dengan nilai unik di slot lain yang terlibat dalam swap. Dengan cara ini, sementara nilai pengaturan tidak berubah, nama pengaturan tetap konsisten di antara slot. Konsistensi nama ini memastikan kode Anda tidak mencoba mengakses pengaturan yang ditentukan dalam satu slot dan bukan di slot lain.
Gunakan langkah-langkah berikut untuk membuat pengaturan penyebaran:
Navigasi ke Slot penerapan di aplikasi fungsi, lalu pilih nama slot.
Pilih Konfigurasi, lalu pilih nama pengaturan yang ingin Anda lekatkan dengan slot saat ini.
Pilih Pengaturan slot penyebaran,lalu pilih OK.
Setelah bagian pengaturan menghilang, pilih Simpan untuk mempertahankan perubahan
Penyebaran
Slot kosong saat Anda membuat slot. Anda dapat menggunakan salah satu teknologi penyebaran yang didukung untuk menerapkan aplikasi Anda ke slot.
Penskalaan
Semua slot menskalakan ke jumlah pekerja yang sama dengan slot produksi.
- Untuk paket Konsumsi, slot diskalakan sebagai skala aplikasi fungsi.
- Untuk paket App Service, aplikasi menskalakan ke jumlah pekerja tetap. Slot berjalan pada jumlah pekerja yang sama dengan paket aplikasi.
Lihat slot
Anda dapat melihat informasi tentang slot yang ada menggunakan Azure CLI atau melalui portal Azure.
Gunakan langkah-langkah ini untuk membuat slot baru di portal:
Navigasi ke aplikasi fungsi Anda.
Pilih Slot penyebaran dan slot yang ada ditampilkan.
Menambahkan slot
Anda dapat menambahkan slot menggunakan Azure CLI atau melalui portal Azure.
Gunakan langkah-langkah ini untuk membuat slot di portal:
Navigasi ke aplikasi fungsi Anda.
Pilih Slot penyebaran,lalu pilih + Tambahkan Slot.
Ketik nama slot dan pilih Tambahkan.
Mengakses sumber daya slot
Anda mengakses sumber daya (pemicu HTTP dan titik akhir administrator) di slot penahapan dengan cara yang sama seperti slot produksi. Namun, alih-alih nama host aplikasi fungsi, Anda menggunakan nama host khusus slot di URL permintaan, bersama dengan kunci khusus slot. Karena slot penahapan adalah aplikasi langsung, Anda harus mengamankan fungsi Anda di slot penahapan seperti yang Anda lakukan di slot produksi.
Bertukar slot
Anda dapat menukar slot di luar produksi menggunakan Azure CLI atau melalui portal Azure.
Gunakan langkah-langkah ini untuk menukar slot penahapan ke dalam produksi:
Navigasi ke aplikasi fungsi.
Pilih Slot penyebaran,lalu pilih Swap.
Verifikasi pengaturan konfigurasi untuk swap Anda dan pilih Swap
Operasi pertukaran dapat memakan waktu beberapa detik.
Gulung balik pertukaran
Jika swap menghasilkan kesalahan atau Anda hanya ingin "membatalkan" swap, Anda dapat kembali ke keadaan awal. Untuk kembali ke status yang telah ditukar, lakukan pertukaran lain untuk membalikkan pertukaran.
Menghapus slot
Anda dapat menghapus slot menggunakan Azure CLI atau melalui portal Azure.
Gunakan langkah-langkah ini untuk menghapus slot dari aplikasi Anda di portal:
Navigasi ke Slot penerapan di aplikasi fungsi, lalu pilih nama slot.
Pilih Hapus.
Ketik nama slot penyebaran yang ingin Anda hapus, lalu pilih Hapus.
Tutup panel konfirmasi.
Ubah paket App Service
Dengan aplikasi fungsi yang berjalan di bawah paket App Service, Anda dapat mengubah paket App Service yang mendasarinya untuk satu slot.
Catatan
Anda tidak dapat mengubah paket App Service slot di bawah paket Konsumsi.
Gunakan langkah-langkah berikut untuk mengubah paket App Service slot:
Navigasi ke Slot penerapan di aplikasi fungsi, lalu pilih nama slot.
Di bawah Paket Layanan Aplikasi, pilih Ubah paket App Service .
Pilih paket yang ingin Anda mutakhirkan, atau buat paket baru.
Pilih OK.
Pertimbangan
Slot penyebaran Azure Functions memiliki pertimbangan berikut:
- Jumlah slot yang tersedia untuk aplikasi tergantung pada paket. Paket Konsumsi hanya diperbolehkan satu slot penyebaran. Lebih banyak slot tersedia untuk aplikasi yang berjalan di bawah paket lain. Selengkapnya, lihat Batas layanan.
- Menukar slot mengatur ulang kunci untuk aplikasi yang memiliki pengaturan
AzureWebJobsSecretStorageType
aplikasi sama denganfiles
. - Saat slot diaktifkan, aplikasi fungsi diatur ke mode hanya-baca pada portal.
- Pertukaran slot mungkin gagal saat aplikasi fungsi Anda menggunakan akun penyimpanan aman sebagai akun penyimpanan defaultnya (diatur dalam
AzureWebJobsStorage
). Untuk informasi selengkapnya, lihatWEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS
referensi. - Gunakan nama aplikasi fungsi yang kurang dari 32 karakter. Nama yang lebih panjang dari 32 karakter berisiko menyebabkan tabrakan ID host.