Modifier

Partager via


Migration Apache Kafka vers Azure

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

Apache Kafka est un système de messagerie distribué hautement évolutif et tolérant aux pannes qui implémente une architecture de publication-abonnement. Il est utilisé comme couche d’ingestion dans des scénarios de diffusion en continu en temps réel, tels que les systèmes de surveillance des journaux en temps réel et IoT. Il est également utilisé de plus en plus comme magasin de données en annexe uniquement immuable dans les architectures Kappa.

Apache®, Apache Spark®, Apache Hadoop®, Apache HBase, Apache Storm®, Apache Sqoop®, Apache Kafka® et le logo de flamme sont des marques déposées ou des marques de l’Apache Software Foundation aux États-Unis et/ou dans d’autres pays. L’utilisation de ces marques n’implique aucune approbation de l’Apache Software Foundation.

Approche de migration

Cet article présente différentes stratégies pour la migration de Kafka vers Azure :

Voici un organigramme de décision pour décider de celle à utiliser :

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

Migrer Kafka vers Azure Infrastructure as a service (IaaS)

Pour obtenir un moyen de migrer Kafka vers Azure IaaS, consultez Kafka sur les machines virtuelles Ubuntu.

Migrer Kafka vers Azure Event Hubs pour Kafka

Event Hubs fournit un point de terminaison compatible avec les API de producteur et de consommateur Apache Kafka. Ce point de terminaison peut être utilisé par la plupart des applications clientes Apache Kafka. Il s’agit donc d’une alternative à l’exécution d’un cluster Kafka sur Azure. Le point de terminaison prend en charge les clients qui utilisent les versions 1.0 et ultérieures des API. Pour plus d’informations sur cette fonctionnalité, consultez Présentation d’Azure Event Hubs pour Apache Kafka.

Pour savoir comment migrer vos applications Apache Kafka afin d’utiliser Azure Event Hubs, consultez Migrer vers Azure Event Hubs pour les écosystèmes Apache Kafka.

Différences de fonctionnalités Kafka et Event Hubs

En quoi Kafka et Event Hubs sont-ils similaires ? En quoi Kafka et Event Hubs sont-ils différents ?
Tous deux utilisent des partitions. Il existe des différences dans ces domaines :
Les partitions sont indépendantes. • PaaS et logiciel
Tous deux utilisent un concept de curseur côté client. • Partitionnement
Tous deux peuvent être mis à l’échelle vers des charges de travail très élevées. • API
Conceptuellement, ils sont presque identiques. • Runtime
Aucun n’utilise le protocole HTTP pour la réception. • Protocoles
• Durabilité
• Sécurité
• Limitation
Différences de partitionnement
Kafka Event Hubs
La mise à l’échelle est gérée par le nombre de partitions. La mise à l’échelle est gérée par des unités de débit.
Vous devez équilibrer la charge des partitions entre les machines. L’équilibrage de charge est automatique.
Vous devez repartitionner manuellement à l’aide du fractionnement et de la fusion. Le repartitionnement n’est pas obligatoire.
Différences de durabilité
Kafka Event Hubs
Volatile par défaut Toujours durable
Répliqué après ACK Répliqué avant ACK
Dépend du disque et du quorum Fourni par le stockage
Différences de sécurité
Kafka Event Hubs
SSL et SASL SAS et SASL/PLAIN RFC 4618
Listes de contrôle d’accès de type fichier Policy
Chiffrement de transport facultatif TLS obligatoire
Basé sur l’utilisateur Basé sur un jeton (illimité)
Autres différences
Kafka Event Hubs
Kafka n’est pas limité. Event Hubs prend en charge la limitation.
Kafka utilise un protocole propriétaire. Event Hubs utilise le protocole AMQP 1.0.
Kafka n’utilise pas HTTP pour l’envoi. Event Hubs utilise l’envoi HTTP et l’envoi en lot.

Migrer Kafka sur Azure HDInsight

Vous pouvez migrer Kafka vers Kafka sur Azure HDInsight. Pour plus d’informations, consultez Présentation d’Apache Kafka dans Azure HDInsight.

Utiliser AKS avec Kafka sur HDInsight

Consultez Utiliser Azure Kubernetes Service avec Apache Kafka sur HDInsight.

Migration de données Kafka

Vous pouvez utiliser l’outil MirrorMaker de Kafka pour répliquer des rubriques d’un cluster à un autre. Cette technique peut vous aider à migrer des données après l’approvisionnement d’un cluster Kafka. Pour plus d’informations, consultez Utiliser MirrorMaker pour répliquer des rubriques Apache Kafka avec Kafka sur HDInsight

Voici une approche de migration qui utilise la mise en miroir :

  • Déplacez d’abord les producteurs, puis déplacez les consommateurs. Lorsque vous migrez les producteurs, vous empêchez la production de nouveaux messages sur le Kafka source.
  • Une fois que le Kafka source a consommé tous les messages restants, vous pouvez migrer les consommateurs.

Voici les étapes d’implémentation :

  1. Modifiez l’adresse de connexion Kafka du client producteur pour pointer vers la nouvelle instance Kafka.
  2. Redémarrez les services métier du producteur et envoyez de nouveaux messages à la nouvelle instance Kafka.
  3. Attendez que les données du Kafka source soient consommées.
  4. Modifiez l’adresse de connexion Kafka du client consommateur pour pointer vers la nouvelle instance Kafka.
  5. Redémarrez les services métier du consommateur pour consommer des messages à partir de la nouvelle instance Kafka.
  6. Vérifiez que les consommateurs réussissent à obtenir des données à partir de la nouvelle instance Kafka.

Surveiller le cluster Kafka

Vous pouvez utiliser les journaux Azure Monitor pour analyser les journaux générés par Apache Kafka sur HDInsight. Pour plus d’informations, consultez Analyser les journaux pour Apache Kafka sur HDInsight.

API Apache Kafka Streams

L’API Kafka Streams permet de traiter des données en quasi-temps réel et offre la possibilité de joindre et d’agréger des données. Il existe de nombreuses fonctionnalités supplémentaires de l’API à connaître. Pour plus d’informations, consultez Présentation de Kafka Streams : Traitement de flux simplifié - Confluent.

Le partenariat Microsoft et Confluent

Confluent fournit un service natif cloud pour Apache Kafka. Microsoft et Confluent ont une alliance stratégique. Pour plus d'informations, consultez les pages suivantes :

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteurs principaux :

Autres contributeurs :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes

Présentations des produits Azure

Informations de référence sur les produits Azure

Autres