Condividi tramite


Migrazione di Apache Kafka ad Azure

Azure HDInsight
Azure Cosmos DB
Azure Data Lake Storage
Azure Synapse Analytics
Analisi di flusso di Azure

Apache Kafka è un sistema di messaggistica distribuito altamente scalabile e a tolleranza di errore che implementa un'architettura di pubblicazione-sottoscrizione. Viene usato come livello di inserimento in scenari di streaming in tempo reale, ad esempio Internet delle cose e sistemi di monitoraggio dei log in tempo reale. Viene usato sempre più spesso come archivio dati di sola accodamento non modificabile nelle architetture Kappa.

Apache®, Apache Spark®, Apache Hadoop®, Apache HBase, Apache Storm®, Apache Sqoop®, Apache Kafka® e il logo flame sono marchi registrati o marchi di Apache Software Foundation negli Stati Uniti e/o in altri paesi. L'uso di questi marchi non implica alcuna approvazione da parte di Apache Software Foundation.

Approccio alla migrazione

Questo articolo presenta varie strategie per la migrazione di Kafka ad Azure:

Ecco un diagramma di flusso decisionale per decidere quale strategia usare.

Diagramma che mostra un grafico decisionale per determinare una strategia per la migrazione di Kafka ad Azure.

Eseguire la migrazione di Kafka ad Azure IaaS

Per un modo per eseguire la migrazione di Kafka ad Azure IaaS, vedere Kafka in macchine virtuali Ubuntu.

Eseguire la migrazione di Kafka a Hub eventi per Kafka

Hub eventi fornisce un endpoint compatibile con le API producer e consumer apache Kafka. La maggior parte delle applicazioni client Apache Kafka può usare questo endpoint, quindi è possibile usarlo come alternativa all'esecuzione di un cluster Kafka in Azure. L'endpoint supporta i client che usano le versioni API 1.0 e successive. Per altre informazioni su questa funzionalità, vedere Panoramica di Hub eventi per Apache Kafka.

Per informazioni su come eseguire la migrazione delle applicazioni Apache Kafka per l'uso di Hub eventi, vedere Eseguire la migrazione a Hub eventi per gli ecosistemi Apache Kafka.

Funzionalità di Kafka e Hub eventi

Analogie tra Kafka e Hub eventi Differenze in Kafka e Hub eventi
Usare le partizioni Piattaforma distribuita come servizio e software
Le partizioni sono indipendenti Partizionamento
Usare un concetto di cursore lato client API (Interfaccia di Programmazione delle Applicazioni)
Scalabilità fino a carichi di lavoro molto elevati Tempo di esecuzione
Concettualmente quasi identico Protocolli
Nessuno dei due usa il protocollo HTTP per la ricezione Durabilità
Sicurezza
Regolazione
Differenze di partizionamento
Kafka Hub eventi
Il numero di partizioni gestisce la scalabilità. Le unità elaborate gestiscono la scalabilità.
È necessario bilanciare il carico delle partizioni tra computer. Il bilanciamento del carico è automatico.
È necessario eseguire manualmente la partizione usando la divisione e l'unione. Il ripartizionamento non è obbligatorio.
Differenze di durabilità
Kafka Hub eventi
Volatile per impostazione predefinita Sempre durevole
Replicato dopo la ricezione di un riconoscimento (ACK) Replicato prima dell'invio di un ACK
Dipende dal disco e dal quorum Fornito dall'archiviazione
Differenze di sicurezza
Kafka Hub eventi
Secure Sockets Layer (SSL) e autenticazione semplice e livello di sicurezza (SASL) Firma di accesso condiviso e SASL o PLAIN RFC 4618
Elenchi di controllo di accesso simili ai file Politica
Crittografia del trasporto facoltativa Transport Layer Security (TLS) obbligatorio
Basato sull'utente Basato su token (illimitato)
Altre differenze
Kafka Hub eventi
Non limita Supporta la limitazione
Usa un protocollo proprietario Usa il protocollo AMQP 1.0
Non usa HTTP per l'invio Usa l'invio HTTP e l'invio batch

Eseguire la migrazione di Kafka in HDInsight

È possibile eseguire la migrazione di Kafka a Kafka in HDInsight. Per altre informazioni, vedere Che cos'è Apache Kafka in HDInsight?.

Usare il servizio Azure Kubernetes con Kafka in HDInsight

Per altre informazioni, vedere Usare il servizio Azure Kubernetes con Apache Kafka in HDInsight.

Usare Kafka nel servizio Azure Kubernetes con l'operatore Strimzi

Per altre informazioni, vedere Distribuire un cluster Kafka nel servizio Azure Kubernetes usando Strimzi.

Migrazione dei dati Kafka

È possibile usare lo strumento MirrorMaker di Kafka per replicare gli argomenti da un cluster a un altro. Questa tecnica consente di eseguire la migrazione dei dati dopo il provisioning di un cluster Kafka. Per altre informazioni, vedere Usare MirrorMaker per replicare gli argomenti di Apache Kafka con Kafka in HDInsight.

L'approccio di migrazione seguente usa il mirroring:

  1. Spostare prima i produttori. Quando si esegue la migrazione dei producer, si impedisce la produzione di nuovi messaggi nell'origine Kafka.

  2. Dopo che Kafka di origine utilizza tutti i messaggi rimanenti, è possibile eseguire la migrazione dei consumer.

L'implementazione include i passaggi seguenti:

  1. Modificare l'indirizzo di connessione Kafka del client producer in modo che punti alla nuova istanza kafka.

  2. Riavviare i servizi aziendali producer e inviare nuovi messaggi alla nuova istanza kafka.

  3. Attendere l'utilizzo dei dati nell'origine Kafka.

  4. Modificare l'indirizzo di connessione Kafka del client consumer in modo che punti alla nuova istanza kafka.

  5. Riavviare i servizi aziendali consumer per utilizzare i messaggi dalla nuova istanza di Kafka.

  6. Verificare che i consumer abbiano esito positivo nel recupero dei dati dalla nuova istanza kafka.

Monitorare il cluster Kafka

È possibile usare i log di Monitoraggio di Azure per analizzare i log generati da Apache Kafka in HDInsight. Per altre informazioni, vedere Analizzare i log per Apache Kafka in HDInsight.

Apache Kafka Streams API

L'API Kafka Streams consente di elaborare i dati quasi in tempo reale e di unire e aggregare i dati. Per altre informazioni, vedere Introducing Kafka Streams: Stream Processing Made Simple - Confluent.

La partnership tra Microsoft e Confluent

Confluent offre un servizio nativo del cloud per Apache Kafka. Microsoft e Confluent hanno un'alleanza strategica. Per altre informazioni, vedere le risorse seguenti:

Contributori

Microsoft gestisce questo articolo. I collaboratori seguenti hanno scritto questo articolo.

Autori principali:

Altri collaboratori:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi

Introduzione ai prodotti Azure

Informazioni di riferimento sui prodotti Azure

Altro