Redigera

Dela via


Apache Kafka-migrering till Azure

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

Apache Kafka är ett mycket skalbart och feltolerant distribuerat meddelandesystem som implementerar en publiceringsprenumereringsarkitektur. Det används som ett inmatningslager i realtidsströmningsscenarier, till exempel IoT- och realtidsloggövervakningssystem. Det används också i allt högre grad som det oföränderliga tilläggsdatalagret i Kappa-arkitekturer.

Apache, Apache Spark®, Apache Hadoop®, Apache HBase, Apache Storm®, Apache Sqoop®, Apache Kafka® och flamlogotypen är antingen registrerade varumärken eller varumärken som tillhör Apache Software Foundation i USA och/eller andra länder.® Inget godkännande från Apache Software Foundation underförstås av användningen av dessa märken.

Migreringsmetod

I den här artikeln beskrivs olika strategier för migrering av Kafka till Azure:

Här är ett beslutsflödesschema för att bestämma vilket som ska användas:

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

Migrera Kafka till Azures infrastruktur som en tjänst (IaaS)

Ett sätt att migrera Kafka till Azure IaaS finns i Kafka på virtuella Ubuntu-datorer.

Migrera Kafka till Azure Event Hubs för Kafka

Event Hubs tillhandahåller en slutpunkt som är kompatibel med Apache Kafka-producent- och konsument-API:er. Den här slutpunkten kan användas av de flesta Apache Kafka-klientprogram, så det är ett alternativ till att köra ett Kafka-kluster på Azure. Slutpunkten stöder klienter som använder version 1.0 och senare av API:erna. Mer information om den här funktionen finns i Översikt över Azure Event Hubs för Apache Kafka.

Information om hur du migrerar dina Apache Kafka-program för att använda Azure Event Hubs finns i Migrera till Azure Event Hubs för Apache Kafka Ecosystems.

Funktionsskillnader för Kafka och Event Hubs

Hur liknar Kafka och Event Hubs? Hur skiljer sig Kafka och Event Hubs?
Båda använder partitioner. Det finns skillnader på dessa områden:
Partitioner är oberoende. • PaaS jämfört med programvara
Båda använder ett markörkoncept på klientsidan. •Partitionering
Båda kan skalas till mycket höga arbetsbelastningar. •Api
Konceptuellt är de nästan desamma. •Runtime
Ingen av dem använder HTTP-protokollet för att ta emot. •Protokoll
•Hållbarhet
•Säkerhet
•Strypning
Partitioneringsskillnader
Kafka Event Hubs
Skala hanteras med partitionsantal. Skala hanteras av dataflödesenheter.
Du måste belastningsutjämningspartitioner mellan datorer. Belastningsutjämning är automatisk.
Du måste partitionera om manuellt med hjälp av dela och sammanfoga. Ompartitionering krävs inte.
Hållbarhetsskillnader
Kafka Event Hubs
Flyktig som standard Alltid beständig
Replikeras efter ACK Replikeras före ACK
Beror på disk och kvorum Tillhandahålls av lagring
Säkerhetsskillnader
Kafka Event Hubs
SSL och SASL SAS och SASL/PLAIN RFC 4618
Filliknande ACL:er Policy
Valfri transportkryptering Obligatorisk TLS
Användarbaserad Tokenbaserad (obegränsad)
Andra skillnader
Kafka Event Hubs
Kafka begränsar inte. Event Hubs stöder begränsning.
Kafka använder ett proprietärt protokoll. Event Hubs använder AMQP 1.0-protokollet.
Kafka använder inte HTTP för att skicka. Event Hubs använder HTTP Send och Batch Send.

Migrera Kafka på Azure HDInsight

Du kan migrera Kafka till Kafka i Azure HDInsight. Mer information finns i Vad är Apache Kafka i Azure HDInsight?.

Använda AKS med Kafka i HDInsight

Se Använda Azure Kubernetes Service med Apache Kafka i HDInsight.

Kafka-datamigrering

Du kan använda Kafkas MirrorMaker-verktyg för att replikera ämnen från ett kluster till ett annat. Den här tekniken kan hjälpa dig att migrera data när ett Kafka-kluster har etablerats. Mer information finns i Använda MirrorMaker för att replikera Apache Kafka-ämnen med Kafka i HDInsight.

Här är en migreringsmetod som använder spegling:

  • Flytta producenterna först och flytta sedan konsumenterna. När du migrerar producenterna förhindrar du produktion av nya meddelanden på källan Kafka.
  • När källan Kafka har förbrukat alla återstående meddelanden kan du migrera konsumenterna.

Här är implementeringsstegen:

  1. Ändra Kafka-anslutningsadressen för producentklienten så att den pekar på den nya Kafka-instansen.
  2. Starta om producentföretagens tjänster och skicka nya meddelanden till den nya Kafka-instansen.
  3. Vänta tills data i kafka-källan har förbrukats.
  4. Ändra Kafka-anslutningsadressen för konsumentklienten så att den pekar på den nya Kafka-instansen.
  5. Starta om konsumentföretagens tjänster för att använda meddelanden från den nya Kafka-instansen.
  6. Kontrollera att konsumenterna lyckas hämta data från den nya Kafka-instansen.

Övervaka Kafka-klustret

Du kan använda Azure Monitor-loggar för att analysera loggar som genereras av Apache Kafka i HDInsight. Mer information finns i: Analysera loggar för Apache Kafka på HDInsight.

Apache Kafka Flöden API

Kafka-Flöden-API:et gör det möjligt att bearbeta data nästan i realtid, och det ger möjlighet att koppla och aggregera data. Det finns många fler funktioner i API:et som är värda att känna till. Mer information finns i Introduktion till Kafka Flöden: Stream Processing Made Simple – Confluent.

Microsoft och Confluent-samarbetet

Confluent tillhandahåller en molnbaserad tjänst för Apache Kafka. Microsoft och Confluent har en strategisk allians. Mer information finns i:

Deltagare

Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.

Huvudsakliga författare:

Övriga medarbetare:

Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.

Nästa steg

Introduktion till Azure-produkter

Produktreferens för Azure

Övrigt