Qu'est-ce que Kafka ?

Cette API asynchrone est implémentée à l'aide du protocole Apache Kafka. Il s'agit d'une plateforme d'événements de publication/abonnement conçue pour être tolérante aux pannes, fournissant une plateforme à haut débit et à faible latence pour la gestion des flux de données en temps réel.

Kafka s'exécute en tant que cluster d'un ou plusieurs serveurs (courtiers Kafka). La charge est équilibrée dans le cluster en la répartissant entre les serveurs.

Concepts clés

Rubrique

Un flux de messages est stocké dans des catégories appelées rubriques. Les rubriques sont représentées sous forme de canaux dans un document AsyncAPI. Chaque rubrique comporte une ou plusieurs partitions. Chaque partition est une liste ordonnée de messages. Les messages sur une partition reçoivent chacun un nombre croissant de manière monotone appelé offset.

Message/Enregistrement

Unité de données dans Kafka qui comprend deux parties : en-têtes et valeur. Les en-têtes sont couramment utilisés pour les données concernant le message et la valeur est le corps du message.

Producteur

Processus qui publie des flux de messages dans les rubriques Kafka. Un producteur peut publier dans une ou plusieurs rubriques et peut éventuellement choisir la partition qui stocke les données.

Consommateur

Processus qui consomme des messages provenant de rubriques Kafka et traite le flux de messages. Un consommateur peut consommer à partir d'une ou plusieurs rubriques ou partitions.

Groupe de consommateurs

Groupe nommé constitué d'un ou plusieurs consommateurs qui consomment des messages à partir d'un ensemble de rubriques. Chaque consommateur du groupe lit les messages de partitions spécifiques auxquels il est affecté. Chaque partition n'est affectée qu'à un seul consommateur du groupe. L'affectation est contrôlée par les propriétés de consommateur 'client.id' et 'group.id'.

Consommation à partir de cette API

Vous devez demander à un client Kafka de se connecter et de s'abonner. Les bibliothèques client Kafka sont disponibles pour toute une variété de langages de programmation et l'exemple de code de chaque canal est le point de départ permettant d'utiliser un client Java Kafka pour consommer des événements à l'aide d'un consommateur Kafka.