Utiliser Azure Event Hubs à partir d’applications Apache KafkaUse Azure Event Hubs from Apache Kafka applications

Event Hubs fournit un point de terminaison Kafka qui peut être utilisé par vos applications Kafka pour éviter d’exécuter votre propre cluster Kafka.Event Hubs provides a Kafka endpoint that can be used by your existing Kafka based applications as an alternative to running your own Kafka cluster. Event Hubs prend en charge Apache Kafka protocole 1.0 et ultérieurs, et fonctionne avec vos applications Kafka, notamment MirrorMaker.Event Hubs supports Apache Kafka protocol 1.0 and later, and works with your existing Kafka applications, including MirrorMaker.

Qu’apporte Event Hubs à Kafka ?What does Event Hubs for Kafka provide?

La fonctionnalité Event Hubs pour Kafka fournit une tête de protocole sur Azure Event Hubs qui est compatible d’un point de vue binaire avec Kafka versions 1.0 et ultérieures pour lire et écrire dans des rubriques Kafka.The Event Hubs for Kafka feature provides a protocol head on top of Azure Event Hubs that is binary compatible with Kafka versions 1.0 and later for both reading from and writing to Kafka topics. Vous pouvez démarrer à l’aide du point de terminaison Kafka à partir de vos applications avec une modification de configuration minimale, mais aucune modification de code.You may start using the Kafka endpoint from your applications with no code change but a minimal configuration change. Vous mettez à jour la chaîne de connexion dans les configurations pour pointer vers le point de terminaison Kafka exposé par votre hub d’événements au lieu de pointer vers votre cluster Kafka.You update the connection string in configurations to point to the Kafka endpoint exposed by your event hub instead of pointing to your Kafka cluster. Vous pouvez ensuite commencer à diffuser des événements en continu à partir de vos applications qui utilisent le protocole Kafka dans Event Hubs.Then, you can start streaming events from your applications that use the Kafka protocol into Event Hubs. Cette intégration prend également en charge les infrastructures telles que Kafka Connect, qui est actuellement en préversion.This integration also supports frameworks like Kafka Connect, which is currently in preview.

Sur le plan conceptuel, Kafka et Event Hubs sont presque identiques : ce sont tous les deux des journaux d’activité partitionnés générés pour le streaming de données.Conceptually Kafka and Event Hubs are nearly identical: they are both partitioned logs built for streaming data. Le tableau suivant mappe les concepts entre Kafka et Event Hubs.The following table maps concepts between Kafka and Event Hubs.

Mappage des concepts Kafka et Event HubsKafka and Event Hub conceptual mapping

Concept KafkaKafka Concept Concept Event HubsEvent Hubs Concept
ClusterCluster Espace de nomsNamespace
RubriqueTopic Event HubEvent Hub
PartitionPartition PartitionPartition
Groupe de consommateursConsumer Group Groupe de consommateursConsumer Group
OffsetOffset OffsetOffset

Principales différences entre Kafka et Event HubsKey differences between Kafka and Event Hubs

Apache Kafka est un logiciel que vous pouvez exécuter où vous voulez, tandis qu’Event Hubs est un service cloud similaire au stockage Blob Azure.While Apache Kafka is software, which you can run wherever you choose, Event Hubs is a cloud service similar to Azure Blob Storage. Il n’existe aucun serveur ni réseau à gérer, ni aucun répartiteur à configurer.There are no servers or networks to manage and no brokers to configure. Vous créez un espace de noms, qui est un nom de domaine complet dans lequel figurent vos rubriques, puis vous créez des hubs d’événements ou rubriques dans cet espace de noms.You create a namespace, which is an FQDN in which your topics live, and then create Event Hubs or topics within that namespace. Pour plus d’informations sur les espaces de noms et Event Hubs, consultez Fonctionnalités Event Hubs.For more information about Event Hubs and namespaces, see Event Hubs features. En tant que service cloud, Event Hubs utilise une seule adresse IP virtuelle stable comme point de terminaison, les clients n’ont donc pas besoin de connaître les répartiteurs ou machines dans un cluster.As a cloud service, Event Hubs uses a single stable virtual IP address as the endpoint, so clients do not need to know about the brokers or machines within a cluster.

La mise à l’échelle dans Event Hubs est contrôlée par le nombre d’unités de débit que vous achetez, chacune d’elles vous donnant droit à 1 Mo par seconde ou 1 000 événements par seconde d’entrée.Scale in Event Hubs is controlled by how many throughput units you purchase, with each throughput unit entitling you to 1 MB per second, or 1000 events per second of ingress. Par défaut, Event Hubs augmente le nombre d’unités de débit (scale up) quand vous atteignez votre limite avec la fonctionnalité d’augmentation automatique ; celle-ci fonctionne également avec la fonctionnalité Event Hubs pour Kafka.By default, Event Hubs scales up throughput units when you reach your limit with the Auto-Inflate feature; this feature also works with the Event Hubs for Kafka feature.

Sécurité et authentificationSecurity and authentication

Azure Event Hubs nécessite SSL ou TLS pour toutes les communications et utilise les signatures d’accès partagé pour l’authentification.Azure Event Hubs requires SSL or TLS for all communication and uses Shared Access Signatures (SAS) for authentication. Cette condition est également vraie pour les points de terminaison Kafka dans Event Hubs.This requirement is also true for a Kafka endpoint within Event Hubs. Pour des raisons de compatibilité avec Kafka, Event Hubs utilise SASL PLAIN pour l’authentification et SASL SSL pour la sécurité de transport.For compatibility with Kafka, Event Hubs uses SASL PLAIN for authentication and SASL SSL for transport security. Pour plus d’informations sur la sécurité dans Event Hubs, consultez Présentation du modèle de sécurité et de l’authentification Event Hubs.For more information about security in Event Hubs, see Event Hubs authentication and security.

Autres fonctionnalités Event Hubs disponibles pour KafkaOther Event Hubs features available for Kafka

La fonctionnalité Event Hubs pour Kafka vous permet d’écrire avec un protocole et de lire avec un autre afin que vos producteurs Kafka actuels puissent continuer la publication via Kafka, et vous pouvez ajouter des lecteurs avec Event Hubs comme Azure Stream Analytics ou Azure Functions.The Event Hubs for Kafka feature enables you to write with one protocol and read with another, so that your current Kafka producers can continue publishing via Kafka, and you can add readers with Event Hubs, such as Azure Stream Analytics or Azure Functions. De plus, les fonctionnalités Event Hubs telles que la capture et la géoreprise d’activité après sinistre fonctionnent également avec la fonctionnalité Event Hubs pour Kafka.Additionally, Event Hubs features such as Capture and Geo Disaster-Recovery also work with the Event Hubs for Kafka feature.

Fonctionnalités qui ne sont pas encore prises en chargeFeatures that are not yet supported

Voici la liste des fonctionnalités de Kafka qui ne sont pas prises en charge :Here is the list of Kafka features that are not yet supported:

  • Producteur idempotentIdempotent producer
  • TransactionTransaction
  • CompressionCompression
  • Rétention basée sur la tailleSize-based retention
  • Compactage de journalLog compaction
  • Ajout de partitions à une rubrique existanteAdding partitions to an existing topic
  • Prise en charge de l’API Kafka HTTPHTTP Kafka API support
  • Kafka StreamsKafka Streams

Étapes suivantesNext steps

Cet article a présenté une introduction à Event Hubs pour Kafka.This article provided an introduction to Event Hubs for Kafka. Pour en savoir plus, consultez les liens suivants :To learn more, see the following links: