View a markdown version of this page

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 Acara 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.

Code-first orkestrasi 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:

  • Gunakan bahasa pemrograman standar: Tentukan alur kerja menggunakan bahasa pemrograman yang sudah dikenal seperti JavaScript dan Python

  • Long-running proses: Jalankan alur kerja yang dapat berjalan hingga satu tahun, jauh melampaui batas pemanggilan 15 menit default

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

  • Cost-effective waiting: Jeda eksekusi selama status tunggu tanpa menghabiskan sumber daya komputasi

  • Built-in manajemen status: Checkpointing otomatis dan persistensi status tanpa konfigurasi penyimpanan eksternal

Untuk bantuan memilih antara fungsi tahan lama dan Step Functions, lihat Fungsi tahan lama atau Step Functions.

Untuk informasi selengkapnya tentang fungsi tahan lama, lihat Fungsi tahan lama 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 beban kerja berdurasi pendek dengan kecepatan peristiwa tinggi dengan semantik eksekusi paling sedikit sekali. 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. Dengan EventBridge Scheduler, Anda dapat membuat, menjalankan, dan mengelola tugas dari satu layanan pusat, 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 Acara Lambda sesuai jadwal.