Aracılığıyla paylaş


Azure'a Apache Kafka geçişi

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. Nesnelerin İnterneti ve gerçek zamanlı günlük izleme sistemleri gibi gerçek zamanlı akış senaryolarında alım katmanı olarak kullanılır. Ayrıca Kappa mimarilerinde sabit yalnızca ekli veri deposu olarak da giderek daha fazla kullanılmaktadır.

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. Bu işaretlerin kullanılması Apache Software Foundation tarafından onaylanmamaktadır.

Migration approach

Bu makalede Kafka'nın Azure'a geçirilmesine yönelik çeşitli stratejiler verilmiştir:

Hangi stratejinin kullanılacağına karar vermek için bir karar akış çizelgesi aşağıdadır.

Kafka'nın Azure'a geçirilmesi için bir strateji belirlemeye yönelik bir karar grafiğini gösteren diyagram.

Kafka'yi Azure IaaS'ye geçirme

Kafka'yı Azure IaaS'ye geçirmenin bir yolu için bkz. Ubuntu sanal makinelerinde Kafka.

Kafka'dan Kafka için Event Hubs'a geçirme

Event Hubs, Apache Kafka üretici ve tüketici API'leriyle uyumlu bir uç nokta sağlar. Çoğu Apache Kafka istemci uygulaması bu uç noktayı kullanabilir, bu nedenle bunu Azure'da kafka kümesi çalıştırmaya alternatif olarak kullanabilirsiniz. Uç nokta, API 1.0 ve üzeri sürümleri kullanan istemcileri destekler. Bu özellik hakkında daha fazla bilgi için bkz. Apache Kafka için Event Hubs'a genel bakış.

Apache Kafka uygulamalarınızı Event Hubs kullanacak şekilde geçirmeyi öğrenmek için bkz. Apache Kafka ekosistemleri için Event Hubs'a geçiş.

Kafka ve Event Hubs özellikleri

Kafka ile Event Hubs arasındaki benzerlikler Kafka ve Event Hubs farklılıkları
Use partitions Hizmet olarak platform ve yazılım karşılaştırması
Bölümler bağımsızdır Partitioning
İstemci tarafı imleç kavramı kullanma APIs
Çok yüksek iş yüklerine ölçeklendirilebilir Runtime
Kavramsal olarak neredeyse aynı Protocols
Hiçbiri almak için HTTP protokollerini kullanmaz Durability
Security
Throttling
Partitioning differences
Kafka Event Hubs
Bölüm sayısı ölçeği yönetir. Aktarım hızı birimleri ölçeği yönetir.
Makineler arasında bölümlerin yükünü dengelemeniz gerekir. Yük dengeleme otomatiktir.
Bölme ve birleştirmeyi kullanarak el ile yeniden parçalamalısınız. Yeniden bölümleme gerekli değildir.
Durability differences
Kafka Event Hubs
Varsayılan olarak geçici Always durable
Bildirim (ACK) alındıktan sonra çoğaltıldı ACK gönderilmeden önce çoğaltılır
Diske ve çekirdeklere bağlıdır Depolama tarafından sağlanır
Security differences
Kafka Event Hubs
Güvenli Yuva Katmanı (SSL) ve Basit Kimlik Doğrulaması ve Güvenlik Katmanı (SASL) Paylaşılan Erişim İmzası (SAS) ve SASL veya PLAIN RFC 4618
Dosya benzeri erişim denetim listeleri Policy
İsteğe bağlı aktarım şifrelemesi Zorunlu Aktarım Katmanı Güvenliği (TLS)
User based Belirteç tabanlı (sınırsız)
Other differences
Kafka Event Hubs
Doesn't throttle Supports throttling
Özel protokol kullanır AMQP 1.0 protokollerini kullanır
Gönderme için HTTP kullanmaz HTTP gönderme ve toplu göndermeyi kullanır

HDInsight'ta Kafka'ya geçiş

HDInsight'ta Kafka'ya geçirebilirsiniz. Daha fazla bilgi için bkz. HDInsight'ta Apache Kafka nedir?.

HDInsight üzerinde Kafka ile AKS kullanma

Daha fazla bilgi için bkz. HDInsight üzerinde Apache Kafka ile AKS kullanma.

Aks üzerinde Strimzi İşleci ile Kafka kullanma

Daha fazla bilgi için bkz. Strimzi kullanarak AKS'de Kafka kümesi dağıtma.

Kafka veri geçişi

You can use Kafka's MirrorMaker tool to replicate topics from one cluster to another. Bu teknik, kafka kümesi sağlandıktan sonra verileri geçirmenize yardımcı olabilir. Daha fazla bilgi için bkz. HDInsight üzerinde Kafka ile Apache Kafka konularını çoğaltmak için MirrorMaker kullanma.

Aşağıdaki geçiş yaklaşımı yansıtmayı kullanır:

  1. Önce yapımcıları taşıyın. Üreticileri geçirirken, kaynak Kafka'da yeni iletilerin üretilmesini engellersiniz.

  2. Kaynak Kafka kalan tüm iletileri tükettiğinde tüketicileri geçirebilirsiniz.

Uygulama aşağıdaki adımları içerir:

  1. Üretici istemcisinin Kafka bağlantı adresini yeni Kafka örneğine işaret eden şekilde değiştirin.

  2. Üretici iş hizmetlerini yeniden başlatın ve yeni Kafka örneğine yeni iletiler gönderin.

  3. Kaynak Kafka'daki verilerin tüketilmesi için bekleyin.

  4. Tüketici istemcisinin Kafka bağlantı adresini yeni Kafka örneğine işaret eden şekilde değiştirin.

  5. Yeni Kafka örneğinden gelen iletileri kullanmak için tüketici iş hizmetlerini yeniden başlatın.

  6. Tüketicilerin yeni Kafka örneğinden veri almada başarılı olduğunu doğrulayın.

Kafka kümesini izleme

HDInsight üzerinde Apache Kafka'nın oluşturduğu günlükleri analiz etmek için Azure İzleyici günlüklerini kullanabilirsiniz. Daha fazla bilgi için bkz . HDInsight üzerinde Apache Kafka günlüklerini analiz etme.

Apache Kafka Streams API'si

Kafka Streams API'si, verileri neredeyse gerçek zamanlı olarak işlemeyi ve verileri birleştirmeyi ve toplamayı mümkün kılar. Daha fazla bilgi için bkz. Kafka Akışlarına Giriş: Akış İşleme BasitLeştirildi - Confluent.

Microsoft ve Confluent ortaklığı

Confluent, Apache Kafka için buluta özel bir hizmet sağlar. Microsoft ve Confluent stratejik bir ittifaka sahiptir. Daha fazla bilgi için aşağıdaki kaynaklara bakın:

Contributors

Microsoft bu makaleyi korur. Bu makaleyi aşağıdaki katkıda bulunanlar yazdı.

Principal authors:

Other contributors:

Nonpublic LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Next steps

Azure ürün tanıtımları

Azure ürün başvurusu

Other