View a markdown version of this page

Pemrosesan latensi rendah untuk sumber acara Kafka - AWS Lambda

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

Pemrosesan latensi rendah untuk sumber acara Kafka

AWS Lambda secara native mendukung pemrosesan peristiwa latensi rendah untuk aplikasi yang memerlukan latensi ujung ke ujung yang konsisten kurang dari 100 milidetik. Halaman ini menyediakan detail konfigurasi dan rekomendasi untuk mengaktifkan alur kerja latensi rendah.

Aktifkan pemrosesan latensi rendah

Untuk mengaktifkan pemrosesan latensi rendah pada pemetaan sumber peristiwa Kafka, konfigurasi dasar berikut diperlukan:

  • Aktifkan mode yang disediakan. Untuk informasi selengkapnya, lihat Mode yang disediakan.

  • Atur MaximumBatchingWindowInSeconds parameter pemetaan sumber peristiwa ke 0. Untuk informasi selengkapnya, lihat Perilaku batching.

Fine-tuning Kafka ESM latensi rendah Anda

Pertimbangkan rekomendasi berikut untuk mengoptimalkan pemetaan sumber peristiwa Kafka Anda untuk latensi rendah:

Konfigurasi mode yang disediakan

Dalam mode yang disediakan untuk pemetaan sumber peristiwa Kafka, Anda dapat menyempurnakan throughput pemetaan sumber peristiwa dengan mengonfigurasi jumlah minimum dan maksimum sumber daya yang disebut poller peristiwa. Poller peristiwa (atau poller) mewakili sumber daya komputasi yang mendukung pemetaan sumber peristiwa dalam mode yang disediakan, dan mengalokasikan hingga 5 throughput. MB/s Setiap poller peristiwa mendukung hingga 5 pemanggilan Lambda bersamaan.

Untuk menentukan konfigurasi poller yang optimal untuk aplikasi Anda, pertimbangkan tingkat konsumsi puncak dan persyaratan pemrosesan Anda. Mari kita lihat contoh yang disederhanakan:

Dengan ukuran batch 20 catatan dan durasi fungsi target rata-rata 50ms, setiap poller dapat menangani 2.000 catatan per detik dengan batas 5 MB/s . Ini dihitung sebagai: (20 catatan × 1000ms/50ms) × 5 pemanggilan Lambda bersamaan. Oleh karena itu, jika tingkat konsumsi puncak yang Anda inginkan adalah 20.000 catatan per detik, Anda memerlukan setidaknya 10 poller peristiwa.

catatan

Kami merekomendasikan untuk menyediakan pemilih peristiwa tambahan sebagai buffer untuk menghindari operasi secara konsisten pada kapasitas maksimum.

Mode yang disediakan secara otomatis menskalakan poller peristiwa Anda berdasarkan pola lalu lintas dalam poller peristiwa minimum dan maksimum yang dikonfigurasi yang dapat memicu penyeimbangan ulang, dan karenanya, memperkenalkan latensi tambahan. Anda dapat menonaktifkan penskalaan otomatis dengan mengonfigurasi nilai yang sama untuk pol ler peristiwa minimum dan maksimum.

Pertimbangan tambahan

Beberapa pertimbangan tambahan meliputi:

  • Mulai dingin dari pemanggilan fungsi target Lambda Anda berpotensi meningkatkan latensi ujung ke ujung. Untuk mengurangi risiko ini, pertimbangkan untuk mengaktifkan konkurensi yang disediakan atau SnapStart pada fungsi target pemetaan sumber peristiwa Anda. Selain itu, optimalkan alokasi memori fungsi Anda untuk memastikan eksekusi yang konsisten dan optimal.

  • Ketika MaximumBatchingWindowInSeconds disetel ke 0, Lambda segera memproses catatan yang tersedia tanpa menunggu untuk mengisi ukuran batch lengkap. Misalnya, jika ukuran batch Anda disetel ke 1.000 catatan tetapi hanya 100 catatan yang tersedia, Lambda memproses 100 catatan tersebut segera daripada menunggu 1.000 catatan penuh terakumulasi.

penting

Konfigurasi optimal untuk pemrosesan latensi rendah bervariasi secara signifikan berdasarkan beban kerja spesifik Anda. Kami sangat menyarankan untuk menguji konfigurasi yang berbeda dengan beban kerja aktual Anda untuk menentukan pengaturan terbaik untuk kasus penggunaan Anda.