Gunakan Kinesis Client Library (KCL) untuk memproses stream Amazon Keyspaces - Amazon Keyspaces (untuk Apache Cassandra)

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

Gunakan Kinesis Client Library (KCL) untuk memproses stream Amazon Keyspaces

Topik ini menjelaskan cara menggunakan Kinesis Client Library (KCL) untuk mengkonsumsi dan memproses data dari Amazon Keyspaces change data capture (CDC) stream.

Alih-alih bekerja langsung dengan Amazon Keyspaces Streams API, bekerja dengan Kinesis Client Library (KCL) memberikan banyak manfaat, misalnya:

  • Dibangun pada pelacakan garis keturunan pecahan dan penanganan iterator.

  • Penyeimbangan beban otomatis di seluruh pekerja.

  • Toleransi kesalahan dan pemulihan dari kegagalan pekerja.

  • Checkpointing untuk melacak kemajuan pemrosesan.

  • Adaptasi terhadap perubahan kapasitas aliran.

  • Komputasi terdistribusi yang disederhanakan untuk memproses catatan CDC.

Bagian berikut menguraikan mengapa dan bagaimana menggunakan Kinesis Client Library (KCL) untuk memproses stream dan memberikan contoh untuk memproses aliran CDC Amazon Keyspaces dengan KCL.

Untuk informasi tentang harga, lihat harga Amazon Keyspaces (untuk Apache Cassandra).

Apa itu Perpustakaan Klien Kinesis?

Kinesis Client Library (KCL) adalah pustaka perangkat lunak Java mandiri yang dirancang untuk menyederhanakan proses konsumsi dan pemrosesan data dari aliran. KCL menangani banyak tugas kompleks yang terkait dengan komputasi terdistribusi, memungkinkan Anda fokus pada penerapan logika bisnis Anda saat memproses data aliran. KCL mengelola aktivitas seperti load balancing di beberapa pekerja, menanggapi kegagalan pekerja, memeriksa catatan yang diproses, dan menanggapi perubahan jumlah pecahan dalam aliran.

Untuk memproses aliran CDC Amazon Keyspaces, Anda dapat menggunakan pola desain yang ditemukan di KCL untuk bekerja dengan pecahan aliran dan catatan aliran. KCL menyederhanakan pengodean dengan menyediakan abstraksi yang berguna di atas Kinesis Data Streams API tingkat rendah. Untuk informasi selengkapnya tentang KCL, lihat Mengembangkan konsumen dengan KCL di Panduan Pengembang Amazon Kinesis Data Streams.

Untuk menulis aplikasi menggunakan KCL, Anda menggunakan Adaptor Kinesis Streams Amazon Keyspaces. Adaptor Kinesis mengimplementasikan antarmuka Kinesis Data Streams sehingga Anda dapat menggunakan KCL untuk mengkonsumsi dan memproses catatan dari aliran Amazon Keyspaces. Untuk petunjuk tentang cara mengatur dan menginstal adaptor Kinesis stream Amazon Keyspaces, kunjungi repositori. GitHub

Diagram berikut menunjukkan bagaimana pustaka ini berinteraksi satu sama lain.

Interaksi antara aplikasi klien dan Kinesis Data Streams, KCL, Amazon Keyspaces Streams Kinesis Adapter, dan Amazon Keyspaces saat memproses rekaman aliran CDC APIs Amazon Keyspaces.

KCL sering diperbarui untuk menggabungkan versi yang lebih baru dari pustaka yang mendasari, peningkatan keamanan, dan perbaikan bug. Kami menyarankan Anda menggunakan versi terbaru KCL untuk menghindari masalah yang diketahui dan mendapatkan manfaat dari semua peningkatan terbaru. Untuk menemukan versi KCL terbaru, lihat repositori KCL GitHub .

Konsep KCL

Sebelum Anda menerapkan aplikasi konsumen menggunakan KCL, Anda harus memahami konsep-konsep berikut:

Aplikasi konsumen KCL

Aplikasi konsumen KCL adalah program yang memproses data dari aliran CDC Amazon Keyspaces. KCL bertindak sebagai perantara antara kode aplikasi konsumen Anda dan aliran CDC Amazon Keyspaces.

Pekerja

Pekerja adalah unit eksekusi aplikasi konsumen KCL Anda yang memproses data dari aliran CDC Amazon Keyspaces. Aplikasi Anda dapat menjalankan beberapa pekerja yang didistribusikan di beberapa instance.

Rekam prosesor

Prosesor rekaman adalah logika dalam aplikasi Anda yang memproses data dari pecahan di aliran CDC Amazon Keyspaces. Prosesor rekaman dipakai oleh pekerja untuk setiap pecahan yang dikelolanya.

Sewa

Sewa merupakan tanggung jawab pemrosesan untuk pecahan. Pekerja menggunakan sewa untuk mengoordinasikan pekerja mana yang memproses pecahan mana. KCL menyimpan data sewa dalam tabel di Amazon Keyspaces.

Pos pemeriksaan

Pos pemeriksaan adalah catatan posisi dalam pecahan di mana prosesor rekaman telah berhasil memproses catatan. Checkpointing memungkinkan aplikasi Anda untuk melanjutkan pemrosesan dari tempat yang ditinggalkannya jika pekerja gagal.

Dengan adaptor Kinesis Amazon Keyspaces, Anda dapat mulai mengembangkan antarmuka KCL, dengan panggilan API diarahkan secara mulus ke titik akhir aliran Amazon Keyspaces. Untuk daftar titik akhir yang tersedia, lihatCara mengakses titik akhir aliran CDC di Amazon Keyspaces.

Saat aplikasi Anda dimulai, aplikasi akan memanggil KCL untuk membuat instance pekerja. Anda harus memberi pekerja informasi konfigurasi untuk aplikasi, seperti deskriptor aliran dan AWS kredensil, dan nama kelas prosesor rekaman yang Anda berikan. Saat menjalankan kode di pemroses rekaman, pekerja melakukan tugas-tugas berikut:

  • Menghubungkan ke aliran

  • Menghitung pecahan dalam aliran

  • Mengkoordinasikan asosiasi serpihan dengan pekerja lain (jika ada)

  • Membuat instance pemroses rekaman untuk setiap pecahan yang dikelolanya

  • Menarik catatan dari aliran

  • Mendorong rekaman ke pemroses rekaman yang sesuai

  • Catatan yang diproses di pos pemeriksaan

  • Menyeimbangkan asosiasi pekerja pecahan ketika jumlah instans pekerja berubah

  • Menyeimbangkan asosiasi pekerja pecahan saat pecahan dipisahkan