Kembangkan produsen menggunakan Amazon Kinesis Producer Library () KPL - Amazon Kinesis Data Streams

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

Kembangkan produsen menggunakan Amazon Kinesis Producer Library () KPL

Produsen Amazon Kinesis Data Streams adalah aplikasi yang menempatkan catatan data pengguna ke dalam aliran data Kinesis (juga disebut konsumsi data). Kinesis Producer Library (KPL) menyederhanakan pengembangan aplikasi produser, memungkinkan pengembang untuk mencapai throughput tulis yang tinggi ke aliran data Kinesis.

Anda dapat memantau KPL dengan Amazon CloudWatch. Untuk informasi selengkapnya, lihat Pantau Perpustakaan Produser Kinesis dengan Amazon CloudWatch.

catatan

Disarankan agar Anda meningkatkan ke KPL versi terbaru. KPLdiperbarui secara berkala dengan rilis yang lebih baru yang mencakup ketergantungan terbaru dan patch keamanan, perbaikan bug, dan fitur baru yang kompatibel ke belakang. Untuk informasi selengkapnya, lihat https://github.com/awslabs/amazon-kinesis-producer/releases/.

Tinjau peran KPL

KPLIni adalah easy-to-use pustaka yang sangat dapat dikonfigurasi yang membantu Anda menulis ke aliran data Kinesis. Ini bertindak sebagai perantara antara kode aplikasi produser Anda dan tindakan Kinesis Data Streams. API KPLMelakukan tugas-tugas utama berikut:

  • Menulis ke satu atau lebih aliran data Kinesis dengan mekanisme coba ulang otomatis dan dapat dikonfigurasi

  • Mengumpulkan catatan dan menggunakan PutRecords untuk menulis beberapa catatan ke beberapa pecahan per permintaan

  • Mengagregat catatan pengguna untuk meningkatkan ukuran muatan dan meningkatkan throughput

  • Terintegrasi secara mulus dengan Kinesis Client Library (KCL) untuk melakukan de-agregasi catatan batch pada konsumen

  • Mengirimkan CloudWatch metrik Amazon atas nama Anda untuk memberikan visibilitas ke kinerja produsen

Perhatikan bahwa berbeda dari Kinesis API Data Streams yang tersedia di. KPL AWS SDKs Kinesis API Data Streams membantu Anda mengelola banyak aspek Kinesis Data Streams (termasuk membuat aliran, resharding, dan menempatkan dan mendapatkan catatan)KPL, sementara menyediakan lapisan abstraksi khusus untuk menelan data. Untuk informasi tentang Kinesis API Data Streams, lihat Referensi Amazon API Kinesis.

Sadarilah keuntungan menggunakan KPL

Daftar berikut mewakili beberapa keuntungan utama menggunakan KPL untuk mengembangkan produsen Kinesis Data Streams.

KPLDapat digunakan dalam kasus penggunaan sinkron atau asinkron. Kami menyarankan untuk menggunakan kinerja antarmuka asinkron yang lebih tinggi kecuali ada alasan khusus untuk menggunakan perilaku sinkron. Untuk informasi selengkapnya tentang dua kasus penggunaan dan kode contoh ini, lihatTulis ke aliran data Kinesis Anda menggunakan KPL.

Manfaat Kinerja

KPLDapat membantu membangun produsen berkinerja tinggi. Pertimbangkan situasi di mana EC2 instans Amazon Anda berfungsi sebagai proxy untuk mengumpulkan peristiwa 100 byte dari ratusan atau ribuan perangkat berdaya rendah dan menulis catatan ke dalam aliran data Kinesis. EC2Instans ini masing-masing harus menulis ribuan peristiwa per detik ke aliran data Anda. Untuk mencapai throughput yang dibutuhkan, produsen harus menerapkan logika yang rumit, seperti batching atau multithreading, selain logika coba ulang dan de-agregasi rekaman di sisi konsumen. Mereka KPL melakukan semua tugas ini untuk Anda.

Kemudahan Penggunaan Sisi Konsumen

Untuk pengembang sisi konsumen yang menggunakan KCL di Java, KPL terintegrasi tanpa usaha tambahan. Ketika KCL mengambil rekaman Kinesis Data Streams agregat yang terdiri dari KPL beberapa catatan pengguna, secara otomatis memanggil untuk mengekstrak catatan pengguna individu KPL sebelum mengembalikannya ke pengguna.

Untuk pengembang sisi konsumen yang tidak menggunakan KCL tetapi sebaliknya menggunakan API operasi GetRecords secara langsung, perpustakaan KPL Java tersedia untuk mengekstrak catatan pengguna individu sebelum mengembalikannya ke pengguna.

Pemantauan Produsen

Anda dapat mengumpulkan, memantau, dan menganalisis produsen Kinesis Data Streams menggunakan CloudWatch Amazon dan. KPL Ini KPL memancarkan throughput, kesalahan, dan metrik lainnya untuk CloudWatch atas nama Anda, dan dapat dikonfigurasi untuk memantau di tingkat aliran, pecahan, atau produsen.

Arsitektur Asinkron

Karena KPL dapat menyangga catatan sebelum mengirimnya ke Kinesis Data Streams, itu tidak memaksa aplikasi pemanggil untuk memblokir dan menunggu konfirmasi bahwa catatan telah tiba di server sebelum melanjutkan eksekusi. Panggilan untuk memasukkan catatan ke dalam KPL selalu segera kembali dan tidak menunggu catatan dikirim atau respons diterima dari server. Sebaliknya, Future objek dibuat yang menerima hasil pengiriman catatan ke Kinesis Data Streams di lain waktu. Ini adalah perilaku yang sama dengan klien asinkron di. AWS SDK

Memahami kapan tidak menggunakan KPL

KPLDapat menimbulkan penundaan pemrosesan tambahan hingga di RecordMaxBufferedTime dalam perpustakaan (dapat dikonfigurasi pengguna). Nilai yang lebih besar RecordMaxBufferedTime menghasilkan efisiensi pengepakan yang lebih tinggi dan kinerja yang lebih baik. Aplikasi yang tidak dapat mentolerir penundaan tambahan ini mungkin perlu menggunakan secara AWS SDK langsung. Untuk informasi selengkapnya tentang penggunaan AWS SDK dengan Kinesis Data Kembangkan produsen menggunakan Amazon Kinesis API Data Streams dengan AWS SDK for Java Streams, lihat. Untuk informasi selengkapnya tentang RecordMaxBufferedTime dan properti lain yang dapat dikonfigurasi pengguna, lihat. KPL Konfigurasikan Perpustakaan Produser Kinesis