Freigeben über


Apache Kafka-Migration zu Azure

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

Apache Kafka ist ein hoch skalierbares und fehlertolerantes verteiltes Messaging-System, das eine Publish-Subscribe-Architektur implementiert. Es wird als Aufnahmeschicht in Echtzeitstreamingszenarien verwendet, z. B. Internet of Things und Echtzeitprotokollüberwachungssysteme. Es wird auch zunehmend als unveränderlicher Anfügedatenspeicher in Kappa-Architekturen verwendet.

Apache, Apache Spark®, ApacheHadoop®, Apache® HBase, Apache Storm®, Apache Sqoop®, Apache Kafka® und das Flammenlogo sind entweder eingetragene Marken oder Marken der Apache Software Foundation in den USA und/oder anderen Ländern. Es wird nicht impliziert, dass eine Unterstützung der Apache Software Foundation vorliegt, wenn diese Marken verwendet werden.

Migrationsansatz

In diesem Artikel werden verschiedene Strategien für die Migration von Kafka zu Azure erläutert:

Hier ist ein Entscheidungsflussdiagramm für die Entscheidung, welche Strategie verwendet werden soll.

Diagramm, das ein Entscheidungsdiagramm zum Bestimmen einer Strategie für die Migration von Kafka zu Azure zeigt.

Migrieren von Kafka zu Azure IaaS

Eine Möglichkeit zum Migrieren von Kafka zu Azure IaaS finden Sie unter Kafka auf virtuellen Ubuntu-Computern.

Migrieren von Kafka zu Event Hubs für Kafka

Event Hubs stellt einen Endpunkt bereit, der mit den Apache Kafka-Produzenten- und Consumer-APIs kompatibel ist. Die meisten Apache Kafka-Clientanwendungen können diesen Endpunkt verwenden, sodass Sie ihn als Alternative zum Ausführen eines Kafka-Clusters auf Azure verwenden können. Der Endpunkt unterstützt Clients, die API-Versionen 1.0 und höher verwenden. Weitere Informationen zu diesem Feature finden Sie in der Übersicht über Event Hubs für Apache Kafka.

Informationen zum Migrieren Ihrer Apache Kafka-Anwendungen zur Verwendung von Event Hubs finden Sie unter Migrieren zu Event Hubs für Apache Kafka-Ökosysteme.

Features von Kafka und Event Hubs

Ähnlichkeiten zwischen Kafka und Event Hubs Unterschiede in Kafka und Event Hubs
Verwenden von Partitionen Plattform als Dienst im Vergleich zu Software
Partitionen sind unabhängig Partitionierung
Verwenden eines clientseitigen Cursorkonzepts Apis
Kann auf sehr hohe Workloads skaliert werden Laufzeit
Nahezu identisch konzeptionell Protokolle
Das HTTP-Protokoll für den Empfang wird nicht verwendet. Beständigkeit
Sicherheit
Drosselung
Partitionierungsunterschiede
Kafka Ereignis-Hubs
Die Partitionsanzahl verwaltet die Skalierung. Durchsatzeinheiten verwalten Skalierung.
Sie müssen partitionsübergreifend Lastenausgleichspartitionen auf allen Computern laden. Lastenausgleich ist automatisch.
Sie müssen manuell erneuthardieren, indem Sie "Teilen" und "Zusammenführen" verwenden. Die Neupartitionierung ist nicht erforderlich.
Haltbarkeitsunterschiede
Kafka Ereignis-Hubs
Standardmäßig veränderlich Immer langlebig
Repliziert, nachdem eine Bestätigung (ACK) empfangen wurde Repliziert, bevor eine ACK gesendet wird
Hängt von Datenträger und Quorum ab Bereitgestellt von Speicher
Sicherheitsunterschiede
Kafka Ereignis-Hubs
Secure Sockets Layer (SSL) und Simple Authentication and Security Layer (SASL) Shared Access Signature (SAS) und SASL oder PLAIN RFC 4618
Dateiähnliche Zugriffssteuerungslisten Politik
Optionale Transportverschlüsselung Obligatorische Transport Layer Security (TLS)
Benutzerbasiert Tokenbasiert (unbegrenzt)
Weitere Unterschiede
Kafka Ereignis-Hubs
Drosselt nicht Unterstützt Drosselung
Verwendet ein proprietäres Protokoll. Verwendet das AMQP 1.0-Protokoll.
Verwendet nicht HTTP zum Senden Verwendet HTTP-Sende- und Batchsendungen

Migrieren von Kafka auf HDInsight

Sie können Kafka auf HDInsight nach Kafka migrieren. Weitere Informationen finden Sie unter Was ist Apache Kafka in HDInsight?.

Verwenden von AKS mit Kafka auf HDInsight

Weitere Informationen finden Sie unter Verwenden von AKS mit Apache Kafka auf HDInsight.

Verwenden von Kafka auf AKS mit dem Strimzi-Operator

Weitere Informationen finden Sie unter Bereitstellen eines Kafka-Clusters auf AKS mithilfe von Strimzi.

Kafka-Datenmigration

Sie können das MirrorMaker-Tool von Kafka verwenden, um Themen von einem Cluster in einen anderen zu replizieren. Diese Technik kann Ihnen beim Migrieren von Daten helfen, nachdem ein Kafka-Cluster bereitgestellt wurde. Weitere Informationen finden Sie unter Verwenden von MirrorMaker zum Replizieren von Apache Kafka-Themen mit Kafka auf HDInsight.

Der folgende Migrationsansatz verwendet Spiegelung:

  1. Verschieben Sie die Produzenten zuerst. Wenn Sie die Produzenten migrieren, verhindern Sie die Produktion neuer Nachrichten auf dem Quell-Kafka.

  2. Nachdem die Quelle Kafka alle verbleibenden Nachrichten verbraucht hat, können Sie die Verbraucher migrieren.

Die Implementierung umfasst die folgenden Schritte:

  1. Ändern Sie die Kafka-Verbindungsadresse des Produzentenclients so, dass sie auf die neue Kafka-Instanz verweist.

  2. Starten Sie die Produzenten-Geschäftsdienste neu, und senden Sie neue Nachrichten an die neue Kafka-Instanz.

  3. Warten Sie, bis die Daten in der Quell-Kafka verbraucht werden.

  4. Ändern Sie die Kafka-Verbindungsadresse des Consumerclients so, dass sie auf die neue Kafka-Instanz verweist.

  5. Starten Sie die Verbraucher-Geschäftsdienste neu, um Nachrichten aus der neuen Kafka-Instanz zu nutzen.

  6. Stellen Sie sicher, dass Verbraucher erfolgreich Daten aus der neuen Kafka-Instanz abrufen können.

Überwachen des Kafka-Clusters

Sie können Azure Monitor-Protokolle verwenden, um Protokolle zu analysieren, die Apache Kafka auf HDInsight generiert. Weitere Informationen finden Sie unter Analysieren von Protokollen für Apache Kafka in HDInsight.

Apache Kafka Streams-API

Die Kafka Streams-API ermöglicht es, Daten nahezu in Echtzeit zu verarbeiten und Daten zu verknüpfen und zu aggregieren. Weitere Informationen finden Sie unter Einführung in Kafka Streams: Stream Processing Made Simple - Confluent.

Die Microsoft- und Confluent-Partnerschaft

Confluent bietet einen cloud-nativen Dienst für Apache Kafka. Microsoft und Confluent haben eine strategische Allianz. Weitere Informationen finden Sie in den folgenden Ressourcen:

Beitragende

Microsoft verwaltet diesen Artikel. Die folgenden Mitwirkenden haben diesen Artikel geschrieben.

Hauptautoren:

Andere Mitwirkende:

Um nicht-öffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.

Nächste Schritte

Azure-Produkteinführungen

Azure-Produktreferenz

Andere