Dokumen ini memberikan ringkasan tentang konektor Kafka Connect di Google Cloud. Temukan kapan harus menggunakan setiap jenis konektor untuk mengelola dan mengintegrasikan aliran data Anda.
Konektor ini menggunakan framework Kafka Connect untuk mengintegrasikan Apache Kafka dengan aplikasi lain. Mereka menyerap dan mereplikasi data antara cluster dan aplikasi Kafka Anda. Jenis konektor yang tersedia meliputi:
Konektor MirrorMaker 2.0
Konektor sumber
Konektor checkpoint
Konektor detak jantung
Konektor Sink BigQuery
Konektor Sink Cloud Storage
Konektor Sumber Pub/Sub
Konektor Pub/Sub Sink
Konektor MirrorMaker 2.0 dirancang khusus untuk replikasi data dan pemulihan dari bencana antara cluster Kafka. Replikasi memfasilitasi pencerminan data dari satu cluster Kafka ke cluster Kafka lainnya, sehingga memungkinkan ketersediaan tinggi dan fault tolerance.
Konektor MirrorMaker 2.0 dapat membuat koneksi antara cluster Managed Service for Apache Kafka dan cluster Managed Service for Apache Kafka lainnya atau cluster Kafka yang dikelola sendiri.
Konektor Sink dan Source lainnya berfungsi untuk mengintegrasikan Kafka dengan berbagai layananGoogle Cloud . Konektor ini memungkinkan transfer data antara Managed Service untuk cluster Apache Kafka dan layanan Google Cloud , seperti BigQuery, Cloud Storage, atau Pub/Sub.
Sebelum memulai
Sebelum menjelajahi dan membuat konektor, pastikan Anda memiliki pemahaman dan prasyarat berikut:
Pengetahuan praktis tentang Kafka Connect dan cluster Connect. Anda harus membuat cluster Connect sebelum dapat men-deploy konektor.
Untuk konektor Sink dan Sumber, pemahaman tentang tabel BigQuery, bucket Cloud Storage, atau topik dan langganan Pub/Sub, bergantung pada jenis konektor yang Anda konfigurasi.
Memahami file konfigurasi YAML atau JSON, karena konektor dikonfigurasi menggunakan format ini.
Kapan harus menggunakan MirrorMaker 2.0
Gunakan konektor MirrorMaker 2.0 dalam skenario berikut:
Memigrasikan data: Pindahkan beban kerja Kafka Anda ke cluster Managed Service for Apache Kafka yang baru.
Pulihkan dari bencana: Buat cluster cadangan untuk memastikan kelangsungan bisnis jika terjadi kegagalan.
Menggabungkan data: Gabungkan data dari beberapa cluster Kafka ke dalam cluster Managed Service for Apache Kafka pusat untuk tujuan analisis.
Fitur utama MirrorMaker 2.0
- Mereplikasi semua komponen yang diperlukan, termasuk topik, data, konfigurasi, grup konsumen dengan offset, dan ACL.
- Mempertahankan skema partisi yang sama di cluster target, yang menyederhanakan transisi untuk aplikasi.
- Secara otomatis mendeteksi dan mereplikasi topik dan partisi baru, sehingga meminimalkan konfigurasi manual.
- Menyediakan metrik penting, seperti latensi replikasi end-to-end, yang memungkinkan Anda melacak kondisi dan performa proses replikasi.
- Memastikan operasi yang andal, bahkan dengan volume data yang tinggi, dan dapat diskala secara horizontal untuk menangani peningkatan workload.
- Menggunakan topik internal untuk sinkronisasi offset, titik pemeriksaan, dan
detak jantung. Topik ini memiliki faktor replikasi yang dapat dikonfigurasi,
seperti
offset.syncs.topic.replication.factor, untuk memastikan ketersediaan tinggi dan fault tolerance.
Menggunakan konektor Sumber MirrorMaker 2.0
Konektor Sumber MirrorMaker 2.0 mereplikasi topik dan data dari satu cluster Kafka (sumber) ke cluster Kafka lain (target).
| Sumber | Target |
|---|---|
| Cluster Managed Service for Apache Kafka | Cluster Managed Service for Apache Kafka |
| Cluster Managed Service for Apache Kafka | Cluster Kafka eksternal atau yang dikelola sendiri |
| Cluster Kafka eksternal atau yang dikelola sendiri | Cluster Managed Service for Apache Kafka |
Konektor Sumber MirrorMaker 2.0 mendukung skenario migrasi berikut:
Mereplikasi atau memigrasikan data dari cluster Kafka eksternal atau yang dikelola sendiri ke cluster Managed Service untuk Apache Kafka
Mereplikasi atau memigrasikan data dari cluster Managed Service for Apache Kafka ke cluster Kafka eksternal atau yang dikelola sendiri.
Mereplikasi data Kafka di seluruh region untuk memenuhi persyaratan pemulihan dari bencana dan ketersediaan tinggi.
Menggunakan konektor Checkpoint MirrorMaker 2.0
Penggunaan konektor Checkpoint MirrorMaker 2.0 bersifat opsional. Proses ini menyalin offset konsumen, yang menunjukkan pesan terakhir yang berhasil dikonsumsi. Proses ini memastikan bahwa konsumen di cluster target dapat melanjutkan pemrosesan dari titik yang sama dengan cluster sumber.
Konektor ini tidak diperlukan agar konektor Sumber MirrorMaker 2.0 berfungsi. Konektor ini hanya diperlukan jika Anda ingin menyinkronkan status ConsumerGroup untuk meminimalkan waktu non-operasional selama peralihan dari cluster sumber ke target. Jika Anda hanya memerlukan salinan data sumber,
konektor ini tidak diperlukan.
Gunakan konektor Checkpoint MirrorMaker 2.0 untuk kasus penggunaan berikut:
Pemulihan dari bencana untuk mempertahankan status konsumen yang konsisten di seluruh cluster dan memungkinkan failover yang lancar.
Mempertahankan progres konsumen dalam skenario yang penting.
Menggunakan konektor Detak Jantung MirrorMaker 2.0
Konektor Detak Jantung MirrorMaker 2.0 adalah komponen opsional yang menghasilkan pesan detak jantung berkala pada cluster Kafka sumber. Konektor menulis pesan ini ke topik khusus, yang biasanya bernama heartbeats.
Anda dapat mengonfigurasi konektor Sumber MirrorMaker 2.0 untuk mereplikasi topik heartbeats ke cluster target. Dengan mengamati topik yang direplikasi ini di cluster target, Anda dapat memantau status dan performa alur replikasi topik. Hal ini memberikan cara untuk memverifikasi koneksi dan aliran data antar-cluster, meskipun tidak ada data lain yang dibuat atau direplikasi.
Men-deploy konektor Heartbeat saja tidak akan otomatis memantau kesehatan replikasi. Untuk menggunakannya dalam pemantauan, Anda harus mereplikasi topik heartbeats, lalu mengamati kehadiran dan ketepatan waktunya di cluster target, atau menggunakan alat pemantauan yang menggunakan detak jantung ini.
Konektor Heartbeat tidak diperlukan agar konektor Sumber MirrorMaker 2.0 dapat berfungsi. Gunakan konektor Detak Jantung MirrorMaker 2.0 untuk kasus penggunaan berikut:
Pantau kondisi dan status replikasi MirrorMaker 2.
Konfigurasi pemberitahuan di Cloud Monitoring menggunakan detak jantung yang dihasilkan dan metrik yang tersedia untuk memberi tahu Anda saat replikasi atau detak jantung berhenti.
Menggunakan konektor Sink
Konektor sink mengekspor data dari topik Kafka ke sistem lain.
Menggunakan konektor BigQuery Sink
Konektor BigQuery Sink mengalirkan data dari topik Kafka ke tabel BigQuery.
Gunakan konektor BigQuery Sink untuk kasus penggunaan berikut:
Data warehousing, untuk memuat data streaming ke BigQuery untuk analisis dan pelaporan.
Mengisi tabel BigQuery yang mendukung dasbor real-time.
Menggunakan konektor Cloud Storage Sink
Konektor Cloud Storage Sink mengalirkan data dari topik Kafka ke bucket Cloud Storage.
Gunakan konektor Sink Cloud Storage untuk kasus penggunaan berikut:
Penyerapan data lake, untuk menyimpan data Kafka di data lake untuk pengarsipan jangka panjang dan pemrosesan batch.
Mengarsipkan data untuk memenuhi persyaratan peraturan.
Menggunakan konektor Pub/Sub Sink
Konektor Sink Pub/Sub mengalirkan pesan dari topik Kafka ke topik Pub/Sub.
Gunakan konektor Pub/Sub Sink untuk kasus penggunaan berikut:
Integrasi layanan, untuk mengirim data dari Kafka ke layanan atau aplikasi lain yang menggunakan data dari Pub/Sub. Google Cloud
Memicu notifikasi atau tindakan real-time berdasarkan data yang diproses.
Menggunakan konektor Sumber
Konektor sumber mengimpor data dari sistem lain ke dalam topik Kafka.
Menggunakan konektor Sumber Pub/Sub
Konektor Sumber Pub/Sub mengalirkan pesan dari langganan Pub/Sub ke topik Kafka.
Gunakan konektor Sumber Pub/Sub untuk kasus penggunaan berikut:
Penyerapan data real-time, yang mengambil data dari layanan cloud atau aplikasi lain dan memublikasikan ke Pub/Sub ke Kafka untuk pemrosesan streaming.
Arsitektur berbasis peristiwa, memicu pemrosesan berbasis Kafka berdasarkan peristiwa yang dipublikasikan ke Pub/Sub.
Kebijakan mulai ulang tugas
Anda dapat menetapkan kebijakan mulai ulang tugas konektor, yang menentukan perilaku saat terjadi kegagalan. Konektor mendukung kebijakan berikut:
Jangan pernah memulai ulang. Konektor tidak memulai ulang tugas yang gagal. Kebijakan ini adalah perilaku default. Hal ini berguna untuk proses debug, atau dalam situasi ketika intervensi manual diperlukan setelah terjadi error.
Mulai ulang dengan backoff eksponensial. Konektor memulai ulang tugas yang gagal setelah penundaan (disebut periode penundaan). Penundaan akan meningkat secara eksponensial dengan setiap kegagalan berikutnya. Kebijakan ini direkomendasikan untuk sebagian besar beban kerja produksi.
Jika Anda menggunakan kebijakan backoff eksponensial, tetapkan juga nilai untuk backoff minimum dan maksimum. Backoff minimum harus lebih besar dari 60 detik, dan backoff maksimum harus kurang dari 7.200 detik.
Transformasi dan predikat
Kafka Connect mendukung transformasi dan predikat Kafka default.
Anda menentukan konfigurasi sebagai bagian dari konfigurasi konektor. Misalnya, untuk mengonfigurasi konektor sink agar mengabaikan
pesan yang berisi kunci header DoNotProcess, Anda akan menambahkan
konfigurasi berikut ke konektor:
transforms=dropMessage
transforms.dropMessage.type=org.apache.kafka.connect.transforms.Filter
transforms.dropMessage.predicate=hasKey
predicates=hasKey
predicates.hasKey.type=org.apache.kafka.connect.transforms.predicates.HasHeaderKey
predicates.hasKey.name=DoNotProcess
Konfigurasi ini melakukan hal berikut:
Mengonfigurasi predikat bernama
hasKeydari jenisorg.apache.kafka.connect.transforms.predicates.HasHeaderKey. Predikat ini cocok dengan semua pesan yang berisi header dengan kunciDoNotProcess.Mengonfigurasi transformasi bernama
dropMessagedari jenisorg.apache.kafka.connect.transforms.Filter. Transformasi ini akan menghapus semua pesan yang cocok dengan predikat yang dikonfigurasi.Menautkan transformasi ke predikat
hasKey. Hal ini memastikan bahwa hanya pesan dengan kunci headerDoNotProcessyang ada yang dihilangkan oleh transformasi.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi Kafka tentang transformasi dan predikat.
Apa langkah selanjutnya?
Membuat konektor Sink Cloud Storage