Migrasi Apache Kafka ke Azure

Azure HDInsight
Azure Cosmos DB
Azure Data Lake Storage
Azure Synapse Analytics
Azure Stream Analytics

Apache Kafka adalah sistem olahpesan terdistribusi yang sangat dapat diskalakan dan toleran terhadap kesalahan yang mengimplementasikan arsitektur terbitkan-berlangganan. Ini digunakan sebagai lapisan penyerapan dalam skenario streaming real-time, seperti IoT dan sistem pemantauan log real-time. Ini juga digunakan semakin sebagai penyimpanan data khusus tambahan yang tidak dapat diubah dalam arsitektur Kappa.

Apache, Apache Spark®, Apache Hadoop®, Apache HBase, Apache Storm®, Apache Sqoop®, Apache Kafka®, dan logo api adalah merek dagang terdaftar atau merek dagang dari Apache Software Foundation di Amerika Serikat dan/atau negara lain.® Tidak ada dukungan oleh The Apache Software Foundation yang tersirat oleh penggunaan tanda ini.

Pendekatan migrasi

Artikel ini menyajikan berbagai strategi untuk memigrasikan Kafka ke Azure:

Berikut adalah diagram alur keputusan untuk memutuskan mana yang akan digunakan:

Diagram that shows a decision chart for determining a strategy for migrating Kafka to Azure.

Memigrasikan Kafka ke infrastruktur sebagai layanan (IaaS) Azure

Untuk salah satu cara memigrasikan Kafka ke Azure IaaS, lihat Kafka di VM Ubuntu.

Memigrasikan Kafka ke Azure Event Hubs untuk Kafka

Azure Event Hubs menyediakan titik akhir yang kompatibel dengan API produsen dan konsumen Apache Kafka. Titik akhir ini dapat digunakan oleh sebagian besar aplikasi klien Apache Kafka, jadi ini adalah alternatif untuk menjalankan kluster Kafka di Azure. Titik akhir mendukung klien yang menggunakan api versi 1.0 dan yang lebih baru. Untuk informasi selengkapnya tentang fitur ini, lihat Gambaran umum Azure Event Hubs for Apache Kafka.

Untuk mempelajari cara memigrasikan aplikasi Apache Kafka Anda untuk menggunakan Azure Event Hubs, lihat Migrasi ke Azure Event Hubs untuk Apache Kafka Ecosystems.

Perbedaan fitur Kafka dan Event Hubs

Bagaimana Kafka dan Event Hubs serupa? Apa perbedaan Kafka dan Event Hubs?
Keduanya menggunakan partisi. Ada perbedaan dalam bidang-bidang ini:
Partisi bersifat independen. • PaaS vs. perangkat lunak
Keduanya menggunakan konsep kursor sisi klien. •Partisi
Keduanya dapat menskalakan ke beban kerja yang sangat tinggi. •Api
Secara konseptual mereka hampir sama. •Runtime
Tidak menggunakan protokol HTTP untuk menerima. •Protokol
•Daya tahan
•Keamanan
•Throttling
Perbedaan partisi
Kafka Pusat Aktivitas
Skala dikelola oleh jumlah partisi. Skala dikelola oleh unit throughput.
Anda harus menyeimbangkan beban partisi di seluruh komputer. Penyeimbangan beban bersifat otomatis.
Anda harus memecah ulang secara manual dengan menggunakan pisahkan dan gabungkan. Partisi ulang tidak diperlukan.
Perbedaan durabilitas
Kafka Pusat Aktivitas
Volatil secara default Selalu tahan lama
Direplikasi setelah ACK Direplikasi sebelum ACK
Tergantung pada disk dan kuorum Disediakan oleh penyimpanan
Perbedaan keamanan
Kafka Pusat Aktivitas
SSL dan SASL SAS dan SASL/PLAIN RFC 4618
ACL seperti file Kebijakan
Enkripsi transportasi opsional TLS Wajib
Berbasis pengguna Berbasis token (tidak terbatas)
Perbedaan lain
Kafka Pusat Aktivitas
Kafka tidak membatasi. Azure Event Hubs mendukung pembatasan.
Kafka menggunakan protokol kepemilikan. Azure Event Hubs menggunakan protokol AMQP 1.0.
Kafka tidak menggunakan HTTP untuk dikirim. Azure Event Hubs menggunakan PENGIRIMAN HTTP dan Kirim Batch.

Memigrasikan Kafka di Azure HDInsight

Anda dapat memigrasikan Kafka ke Kafka di Azure HDInsight. Untuk informasi selengkapnya, lihat Apa itu Apache Kafka di Azure HDInsight?.

Menggunakan AKS dengan Kafka di HDInsight

Lihat Menggunakan Azure Kubernetes Service dengan Apache Kafka di HDInsight.

Migrasi Data Kafka

Anda dapat menggunakan alat MirrorMaker Kafka untuk mereplikasi topik dari satu kluster ke kluster lainnya. Teknik ini dapat membantu Anda memigrasikan data setelah kluster Kafka disediakan. Untuk informasi selengkapnya, lihat Menggunakan MirrorMaker untuk mereplikasi topik Apache Kafka dengan Kafka di HDInsight.

Berikut adalah pendekatan migrasi yang menggunakan pencerminan:

  • Pindahkan produsen terlebih dahulu lalu pindahkan konsumen. Ketika Anda memigrasikan produsen, Anda mencegah produksi pesan baru di Sumber Kafka.
  • Setelah sumber Kafka mengonsumsi semua pesan yang tersisa, Anda dapat memigrasikan konsumen.

Berikut adalah langkah-langkah implementasinya:

  1. Ubah alamat koneksi Kafka klien produsen untuk menunjuk ke instans Kafka baru.
  2. Mulai ulang layanan bisnis produsen dan kirim pesan baru ke instans Kafka baru.
  3. Tunggu hingga data di Kafka sumber dikonsumsi.
  4. Ubah alamat koneksi Kafka klien konsumen untuk menunjuk ke instans Kafka baru.
  5. Mulai ulang layanan bisnis konsumen untuk menggunakan pesan dari instans Kafka baru.
  6. Verifikasi bahwa konsumen berhasil mendapatkan data dari instans Kafka baru.

Memantau kluster Kafka

Anda dapat menggunakan log Azure Monitor untuk menganalisis log yang dihasilkan oleh Apache Kafka di HDInsight. Untuk informasi selengkapnya, lihat: Menganalisis log untuk Apache Kafka di HDInsight.

API Aliran Apache Kafka

Kafka Aliran API memungkinkan untuk memproses data mendekati real-time, dan menyediakan kemampuan untuk menggabungkan dan menggabungkan data. Ada lebih banyak fitur API yang perlu diketahui. Untuk informasi selengkapnya, lihat Memperkenalkan Kafka Aliran: Pemrosesan Streaming Dibuat Sederhana - Confluent.

Kemitraan Microsoft dan Confluent

Confluent menyediakan layanan cloud-native untuk Apache Kafka. Microsoft dan Confluent memiliki aliansi strategis. Untuk informasi selengkapnya, lihat:

Kontributor

Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

Kontributor lain:

Untuk melihat profil LinkedIn non-publik, masuk ke LinkedIn.

Langkah berikutnya

Pengenalan produk Azure

Referensi produk Azure

Lainnya