Bagikan melalui


Migrasi Apache Kafka ke Azure

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

Apache Kafka is a highly scalable and fault tolerant distributed messaging system that implements a publish-subscribe architecture. Ini digunakan sebagai lapisan penyerapan dalam skenario streaming real-time, seperti Internet of Things 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®, and the flame logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Tidak ada dukungan oleh Apache Software Foundation yang tersirat oleh penggunaan tanda-tanda ini.

Migration approach

Artikel ini menyajikan berbagai strategi untuk memigrasikan Kafka ke Azure:

Berikut adalah diagram alur keputusan untuk memutuskan strategi mana yang akan digunakan.

Diagram yang menunjukkan bagan keputusan untuk menentukan strategi untuk memigrasikan Kafka ke Azure.

Memigrasikan Kafka ke Azure IaaS

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

Memigrasikan Kafka ke Azure Event Hubs untuk Kafka

Azure Event Hubs menyediakan titik akhir yang kompatibel dengan API produsen dan konsumen Apache Kafka. Sebagian besar aplikasi klien Apache Kafka dapat menggunakan titik akhir ini, sehingga Anda dapat menggunakannya sebagai 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 ekosistem Apache Kafka.

Fitur Kafka dan Event Hubs

Kesamaan antara Kafka dan Event Hubs Perbedaan dalam Kafka dan Event Hubs
Use partitions Platform sebagai layanan versus perangkat lunak
Partisi bersifat independen Partitioning
Menggunakan konsep kursor sisi klien APIs
Dapat menskalakan ke beban kerja yang sangat tinggi Runtime
Hampir identik secara konseptual Protocols
Tidak menggunakan protokol HTTP untuk menerima Durability
Keamanan
Throttling
Partitioning differences
Kafka Pusat Aktivitas
Jumlah partisi mengelola skala. Unit throughput mengelola skala.
Anda harus memuat partisi keseimbangan di seluruh komputer. Penyeimbangan beban bersifat otomatis.
Anda harus melakukan reshard secara manual dengan menggunakan pisahkan dan gabungkan. Partisi ulang tidak diperlukan.
Durability differences
Kafka Pusat Aktivitas
Volatil secara default Always durable
Direplikasi setelah pengakuan (ACK) diterima Direplikasi sebelum ACK dikirim
Tergantung pada disk dan kuorum Disediakan oleh penyimpanan
Security differences
Kafka Pusat Aktivitas
Secure Sockets Layer (SSL) dan Simple Authentication and Security Layer (SASL) Tanda Tangan Akses Bersama (SAS) dan SASL atau PLAIN RFC 4618
Daftar kontrol akses seperti file Policy
Enkripsi transportasi opsional Keamanan Lapisan Transportasi Wajib (TLS)
User based Berbasis token (tidak terbatas)
Other differences
Kafka Pusat Aktivitas
Doesn't throttle Supports throttling
Menggunakan protokol kepemilikan Menggunakan protokol AMQP 1.0
Tidak menggunakan HTTP untuk mengirim Menggunakan pengiriman HTTP dan pengiriman batch

Memigrasikan Kafka di HDInsight

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

Menggunakan AKS dengan Kafka di HDInsight

Untuk informasi selengkapnya, lihat Menggunakan AKS dengan Apache Kafka di HDInsight.

Menggunakan Kafka di AKS dengan Operator Strimzi

Untuk informasi selengkapnya, lihat Menyebarkan kluster Kafka di AKS dengan menggunakan Strimzi.

Migrasi data Kafka

You can use Kafka's MirrorMaker tool to replicate topics from one cluster to another. 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.

Pendekatan migrasi berikut menggunakan pencerminan:

  1. Pindahkan produser terlebih dahulu. Saat Anda memigrasikan produsen, Anda mencegah produksi pesan baru di Sumber Kafka.

  2. Setelah sumber Kafka mengonsumsi semua pesan yang tersisa, Anda dapat memigrasikan konsumen.

Implementasinya mencakup langkah-langkah berikut:

  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 Apache Kafka di HDInsight. Untuk informasi selengkapnya, lihat Menganalisis log untuk Apache Kafka di HDInsight.

Apache Kafka Streams API

Kafka Streams API memungkinkan untuk memproses data mendekati real-time dan untuk menggabungkan dan menggabungkan data. Untuk informasi selengkapnya, lihat Memperkenalkan Kafka Streams: Stream Processing Made Simple - Confluent.

Kemitraan Microsoft dan Confluent

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

Contributors

Microsoft mempertahankan artikel ini. Kontributor berikut menulis artikel ini.

Principal authors:

Other contributors:

Untuk melihat profil LinkedIn nonpublik, masuk ke LinkedIn.

Next steps

Pengenalan produk Azure

Referensi produk Azure

Other