Menggunakan Lambda dengan Apache Kafka yang dikelola sendiri - AWS Lambda

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

Menggunakan Lambda dengan Apache Kafka yang dikelola sendiri

Lambda mendukung Apache Kafka sebagai sumber peristiwa. Apache Kafka adalah platform streaming peristiwa sumber terbuka yang mendukung beban kerja seperti alur data dan analisis streaming.

Anda dapat menggunakan layanan Kafka AWS terkelola Amazon Managed Streaming for Apache Kafka (MSKAmazon), atau cluster Kafka yang dikelola sendiri. Untuk detail tentang menggunakan Lambda dengan AmazonMSK, lihat. Menggunakan Lambda dengan Amazon MSK

Topik ini menjelaskan cara menggunakan Lambda dengan klaster Kafka yang dikelola sendiri. Dalam AWS terminologi, cluster yang dikelola sendiri mencakup cluster Kafka yang tidak AWS dihosting. Misalnya, Anda dapat meng-host cluster Kafka Anda dengan penyedia cloud seperti Confluent Cloud.

Apache Kafka sebagai sumber acara beroperasi mirip dengan menggunakan Amazon Simple Queue Service (AmazonSQS) atau Amazon Kinesis. Lambda melakukan polling secara internal untuk pesan baru dari sumber peristiwa, lalu memanggil fungsi Lambda target secara sinkron. Lambda membaca pesan dalam batch dan menyediakan ini untuk fungsi Anda sebagai muatan acara. Ukuran batch maksimum dapat dikonfigurasi. (Default adalah 100 pesan.)

Awas

Pemetaan sumber peristiwa Lambda memproses setiap peristiwa setidaknya sekali, dan pemrosesan duplikat catatan dapat terjadi. Untuk menghindari potensi masalah yang terkait dengan duplikat peristiwa, kami sangat menyarankan agar Anda membuat kode fungsi Anda idempoten. Untuk mempelajari lebih lanjut, lihat Bagaimana cara membuat fungsi Lambda saya idempoten di Pusat Pengetahuan. AWS

Untuk sumber peristiwa berbasis Kafka, Lambda mendukung parameter kontrol pemrosesan, seperti jendela batching dan ukuran batch. Untuk informasi selengkapnya, lihat Perilaku batching.

Untuk contoh cara menggunakan Kafka yang dikelola sendiri sebagai sumber acara, lihat Menggunakan Apache Kafka yang dihosting sendiri sebagai sumber acara di Blog Komputasi. AWS Lambda AWS

Contoh peristiwa

Lambda mengirimkan batch pesan dalam parameter peristiwa ketika memanggil fungsi Lambda Anda. Muatan peristiwa berisi array pesan. Setiap item array berisi detail dari topik Kafka dan pengidentifikasi Kafka partisi, bersama-sama dengan stempel waktu dan pesan berkode base64.

{ "eventSource": "SelfManagedKafka", "bootstrapServers":"b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092", "records":{ "mytopic-0":[ { "topic":"mytopic", "partition":0, "offset":15, "timestamp":1545084650987, "timestampType":"CREATE_TIME", "key":"abcDEFghiJKLmnoPQRstuVWXyz1234==", "value":"SGVsbG8sIHRoaXMgaXMgYSB0ZXN0Lg==", "headers":[ { "headerKey":[ 104, 101, 97, 100, 101, 114, 86, 97, 108, 117, 101 ] } ] } ] } }