Memahami lingkungan eksekusi Instans Terkelola Lambda - AWS Lambda

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memahami lingkungan eksekusi Instans Terkelola Lambda

Instans Terkelola Lambda menyediakan model penerapan alternatif yang menjalankan kode fungsi Anda pada instans Amazon milik pelanggan EC2 sementara Lambda mengelola aspek operasional. Lingkungan eksekusi untuk Instans Terkelola memiliki beberapa perbedaan penting dari fungsi Lambda (default), terutama dalam cara menangani pemanggilan bersamaan dan mengelola siklus hidup kontainer.

Catatan: Untuk informasi tentang lingkungan eksekusi Lambda (default), lihat Memahami siklus hidup lingkungan eksekusi Lambda.

Siklus hidup lingkungan eksekusi

Siklus hidup lingkungan eksekusi fungsi Instans Terkelola Lambda berbeda dari Lambda (default) dalam beberapa cara utama:

Fase inisialisasi

Selama fase Init, Lambda melakukan langkah-langkah berikut:

  • Inisialisasi dan daftarkan semua ekstensi

  • Bootstrap titik masuk runtime. Runtime memunculkan jumlah pekerja runtime yang dikonfigurasi (implementasi tergantung pada runtime)

  • Jalankan kode inisialisasi fungsi (kode di luar handler)

  • Tunggu setidaknya satu pekerja runtime untuk memberi sinyal kesiapan dengan menelepon /runtime/invocation/next

Fase Init dianggap selesai ketika ekstensi telah diinisialisasi dan setidaknya satu pekerja runtime telah memanggil. /runtime/invocation/next Fungsi tersebut kemudian siap untuk memproses pemanggilan.

catatan

Untuk fungsi Instans Terkelola Lambda, inisialisasi dapat memakan waktu hingga 15 menit. Batas waktu maksimum 130 detik atau batas waktu fungsi yang dikonfigurasi (hingga 900 detik).

Fase invokasi

Fase Invoke untuk fungsi Instans Terkelola Lambda memiliki beberapa karakteristik unik:

Operasi terus menerus. Tidak seperti Lambda (default), lingkungan eksekusi tetap terus aktif, memproses pemanggilan saat mereka tiba tanpa membeku di antara pemanggilan.

Pemrosesan paralel. Beberapa pemanggilan dapat dijalankan secara bersamaan dalam lingkungan eksekusi yang sama, masing-masing ditangani oleh pekerja runtime yang berbeda.

Batas waktu independen. Batas waktu yang dikonfigurasi fungsi berlaku untuk setiap pemanggilan individu. Ketika waktu pemanggilan habis, Lambda menandai pemanggilan tertentu sebagai gagal tetapi tidak mengganggu pemanggilan lain yang sedang berjalan atau menghentikan lingkungan eksekusi.

Penanganan tekanan balik. Jika semua pekerja runtime sibuk memproses pemanggilan, permintaan pemanggilan baru ditolak hingga pekerja tersedia.

Penanganan dan pemulihan kesalahan

Penanganan kesalahan di lingkungan eksekusi fungsi Instans Terkelola Lambda berbeda dari Lambda (default):

Memanggil batas waktu. Ketika waktu pemanggilan individu habis, Lambda mengembalikan kesalahan batas waktu untuk pemanggilan tertentu tetapi tidak mengakhiri lingkungan eksekusi. Pemanggilan bersamaan lainnya terus diproses secara normal.

Kegagalan pekerja runtime. Jika proses runtime worker mogok, lingkungan eksekusi terus beroperasi dengan pekerja sehat yang tersisa.

Ekstensi mogok. Jika proses ekstensi mogok selama inisialisasi atau operasi, seluruh lingkungan eksekusi ditandai sebagai tidak sehat dan dihentikan. Lambda menciptakan lingkungan eksekusi baru untuk menggantikannya.

Tidak ada reset/perbaikan. Tidak seperti Lambda (default), Instans Terkelola tidak mencoba mengatur ulang dan menginisialisasi ulang lingkungan eksekusi setelah kesalahan. Sebaliknya, wadah yang tidak sehat dihentikan dan diganti dengan yang baru.