Mengelola alur kerja dan acara Lambda - AWS Lambda

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

Mengelola alur kerja dan acara Lambda

Saat membuat aplikasi tanpa server dengan Lambda, Anda sering membutuhkan cara untuk mengatur eksekusi fungsi dan menangani peristiwa. AWS menyediakan beberapa pendekatan untuk mengoordinasikan fungsi Lambda:

  • Fungsi Lambda yang tahan lama untuk orkestrasi alur kerja kode pertama dalam Lambda

  • AWS Step Functions untuk orkestrasi alur kerja visual di beberapa layanan

  • Amazon EventBridge Scheduler dan Amazon EventBridge untuk arsitektur dan penjadwalan yang digerakkan oleh acara

Anda juga dapat mengintegrasikan pendekatan ini bersama-sama. Misalnya, Anda dapat menggunakan EventBridge Scheduler untuk memicu fungsi tahan lama atau alur kerja Step Functions saat peristiwa tertentu terjadi, atau mengonfigurasi alur kerja untuk mempublikasikan peristiwa ke EventBridge Scheduler pada titik eksekusi yang ditentukan. Topik berikut di bagian ini memberikan informasi lebih lanjut tentang bagaimana Anda dapat menggunakan opsi orkestrasi ini.

Orkestrasi kode pertama dengan fungsi tahan lama

Fungsi tahan lama Lambda menyediakan pendekatan kode-pertama untuk orkestrasi alur kerja, memungkinkan Anda untuk membangun alur kerja stateful dan berjalan lama secara langsung dalam fungsi Lambda Anda. Tidak seperti layanan orkestrasi eksternal, fungsi tahan lama menjaga logika alur kerja Anda dalam kode, membuatnya lebih mudah untuk versi, pengujian, dan pemeliharaan bersama logika bisnis Anda.

Fungsi tahan lama sangat ideal saat Anda membutuhkan:

  • Definisi alur kerja kode-pertama: Tentukan alur kerja menggunakan bahasa pemrograman yang sudah dikenal daripada JSON atau desainer visual

  • Proses yang berjalan lama: Jalankan alur kerja yang dapat berjalan hingga satu tahun, jauh melampaui batas 15 menit fungsi Lambda standar

  • Pengembangan yang disederhanakan: Simpan logika alur kerja dan logika bisnis dalam basis kode yang sama untuk pemeliharaan dan pengujian yang lebih mudah

  • Penantian hemat biaya: Jeda eksekusi selama status tunggu tanpa menghabiskan sumber daya komputasi

  • Manajemen status bawaan: Pos pemeriksaan otomatis dan persistensi status tanpa konfigurasi penyimpanan eksternal

Memilih antara fungsi tahan lama dan Step Functions

Fungsi tahan lama dan Step Functions menyediakan kemampuan orkestrasi alur kerja, tetapi mereka melayani kasus penggunaan yang berbeda:

Pertimbangan Fungsi Tahan Lama Step Functions
Definisi alur kerja Kode-pertama (, JavaScript Python, Java) Bahasa Amazon States atau desainer visual yang berbasis di JSON
Pendekatan pengembangan Basis kode tunggal dengan logika bisnis Pisahkan definisi alur kerja dan kode fungsi
Integrasi layanan Melalui kode fungsi Lambda dan AWS SDKs Integrasi asli dengan banyak layanan AWS
Durasi eksekusi Hingga 1 tahun Hingga 1 tahun (Standar), 5 menit (Ekspres)
Pemrosesan paralel Promise.all () dan pola berbasis kode Status paralel dan Peta Terdistribusi
Penanganan kesalahan Blok coba-tangkap dan logika coba ulang khusus Status coba ulang dan catch bawaan
Pemantauan visual CloudWatch log dan dasbor khusus Grafik eksekusi visual dan riwayat terperinci
Terbaik untuk Alur kerja yang berpusat pada pengembang, logika bisnis yang kompleks, pembuatan prototipe cepat Orkestrasi multi-layanan, alur kerja visual, tata kelola perusahaan

Gunakan fungsi yang tahan lama saat:

  • Tim Anda lebih memilih pendekatan pengembangan kode-pertama

  • Logika alur kerja digabungkan erat dengan logika bisnis

  • Anda membutuhkan pembuatan prototipe dan iterasi yang cepat

  • Alur kerja Anda terutama melibatkan fungsi Lambda dan panggilan layanan sederhana

Gunakan Step Functions saat:

  • Anda memerlukan desain dan pemantauan alur kerja visual

  • Alur kerja Anda mengatur beberapa layanan secara ekstensif AWS

  • Anda memerlukan fitur tata kelola perusahaan dan kepatuhan

  • Pemangku kepentingan non-teknis perlu memahami logika alur kerja

Untuk informasi selengkapnya tentang fungsi tahan lama, lihat Fungsi tahan lama untuk Lambda.

Mengatur alur kerja dengan Step Functions

AWS Step Functions adalah layanan orkestrasi alur kerja yang membantu Anda mengoordinasikan beberapa fungsi Lambda dan layanan lainnya ke dalam alur kerja terstruktur. AWS Alur kerja ini dapat mempertahankan status, menangani kesalahan dengan mekanisme coba ulang yang canggih, dan memproses data dalam skala besar.

Step Functions menawarkan dua jenis alur kerja untuk memenuhi kebutuhan orkestrasi yang berbeda:

Alur kerja standar

Ideal untuk alur kerja yang berjalan lama dan dapat diaudit yang memerlukan semantik eksekusi tepat sekali. Alur kerja standar dapat berjalan hingga satu tahun, memberikan riwayat eksekusi terperinci, dan mendukung debugging visual. Mereka cocok untuk proses seperti pemenuhan pesanan, pipa pemrosesan data, atau pekerjaan analitik multi-langkah.

Alur kerja ekspres

Dirancang untuk high-event-rate, beban kerja berdurasi pendek dengan semantik at-least-once eksekusi. Alur kerja ekspres dapat berjalan hingga lima menit dan ideal untuk pemrosesan peristiwa volume tinggi, transformasi data streaming, atau skenario konsumsi data IoT. Mereka menawarkan throughput yang lebih tinggi dan biaya yang berpotensi lebih rendah dibandingkan dengan alur kerja Standar.

catatan

Untuk informasi selengkapnya tentang jenis alur kerja Step Functions, lihat Memilih jenis alur kerja di Step Functions.

Dalam alur kerja ini, Step Functions menyediakan dua jenis status Peta untuk pemrosesan paralel:

Peta Inline

Memproses item dari array JSON dalam riwayat eksekusi alur kerja induk. Peta Inline mendukung hingga 40 iterasi bersamaan dan cocok untuk kumpulan data yang lebih kecil atau ketika Anda perlu menyimpan semua pemrosesan dalam satu eksekusi. Untuk informasi selengkapnya, lihat Menggunakan status Peta dalam mode Inline.

Peta Terdistribusi

Memungkinkan pemrosesan beban kerja paralel skala besar dengan mengulangi kumpulan data yang melebihi 256 KiB atau memerlukan lebih dari 40 iterasi bersamaan. Dengan dukungan hingga 10.000 eksekusi alur kerja anak paralel, Peta Terdistribusi unggul dalam memproses data semi-terstruktur yang disimpan di Amazon S3, seperti file JSON atau CSV, sehingga ideal untuk pemrosesan batch dan operasi ETL. Untuk informasi selengkapnya, lihat Menggunakan status Peta dalam mode Terdistribusi.

Dengan menggabungkan jenis alur kerja dan status Peta ini, Step Functions menyediakan perangkat yang fleksibel dan kuat untuk mengatur aplikasi tanpa server yang kompleks, mulai dari operasi skala kecil hingga jaringan pemrosesan data skala besar.

Untuk memulai menggunakan Lambda dengan Step Functions, lihat Mengatur fungsi Lambda dengan Step Functions.

Mengelola acara dengan EventBridge dan EventBridge Scheduler

Amazon EventBridge adalah layanan bus acara yang membantu Anda membangun arsitektur berbasis acara. Ini merutekan peristiwa antara AWS layanan, aplikasi terintegrasi, dan aplikasi perangkat lunak sebagai layanan (SaaS). EventBridge Scheduler adalah penjadwal tanpa server yang memungkinkan Anda membuat, menjalankan, dan mengelola tugas dari satu layanan pusat, memungkinkan Anda untuk memanggil fungsi Lambda pada jadwal menggunakan ekspresi cron dan rate, atau mengonfigurasi pemanggilan satu kali.

Amazon EventBridge dan EventBridge Scheduler membantu Anda membangun arsitektur berbasis peristiwa dengan Lambda. EventBridge merutekan peristiwa antara AWS layanan, aplikasi terintegrasi, dan aplikasi SaaS, sementara EventBridge Scheduler menyediakan kemampuan penjadwalan khusus untuk menjalankan fungsi Lambda secara berulang atau satu kali.

Layanan ini menyediakan beberapa kemampuan utama untuk bekerja dengan fungsi Lambda:

  • Buat aturan yang cocok dan rute acara ke fungsi Lambda menggunakan EventBridge

  • Siapkan pemanggilan fungsi berulang menggunakan ekspresi cron dan rate dengan Scheduler EventBridge

  • Konfigurasikan pemanggilan fungsi satu kali pada tanggal dan waktu tertentu

  • Tentukan jendela waktu yang fleksibel dan coba lagi kebijakan untuk pemanggilan terjadwal

Lihat informasi yang lebih lengkap di Memanggil fungsi Lambda sesuai jadwal.