IBM Cloud Docs
Apprendre les concepts d'Apache Kafka

Apprendre les concepts d'Apache Kafka

Apache Kafka est une plateforme de diffusion en flux distribuée utilisée par de nombreuses entreprises pour de nombreuses charges de travail par lots, ainsi que pour l'intégration de données en temps réel et les cas d'utilisation de la diffusion en flux de données.

Diagramme de l'architectureKafka.
The diagram shows a Kafka architecture.

La liste suivante présente certains concepts d'Apache Kafka :

Courtiers

Apache Kafka est un système de messagerie distribué. Un cluster Kafka se compose d'un ensemble de courtiers. Un cluster comporte au moins trois courtiers.

Diagramme des courtiers

.
Diagram that shows an example cluster with three brokers.

Messages

Un message est une unité de données dans Kafka. Chaque message est représenté sous forme d'enregistrement composé de deux parties : une clé et une valeur. La clé est généralement utilisée pour les données concernant le message et la valeur constitue le corps du message. Kafka utilise indifféremment les termes enregistrement et message.

Rubriques et partitions

Chaque rubrique est un flux nommé de messages. Une rubrique est composée d'une ou de plusieurs partitions. Les messages d'une partition sont classées en fonction d'un nombre appelé le décalage. Avec plusieurs partitions réparties entre les courtiers, l'évolutivité d'un thème est accrue.

Si une rubrique dispose de plusieurs partitions, les données peuvent y être envoyées en parallèle afin d'augmenter le débit en répartissant les partitions dans le cluster. Le nombre de partitions joue également sur l'équilibrage de la charge de travail entre les consommateurs.

Pour plus d'informations, voir Leadership de partition.

Schéma des sujets et des partitions.
The diagram shows one topic with three partitions that are spread across three brokers.

Réplication

Pour améliorer la disponibilité, chaque rubrique peut être répliquée sur plusieurs courtiers. Pour chaque partition, un des courtiers est le leader et les autres courtiers sont des suiveurs.

La réplication s'effectue lorsque les suiveurs extraient de façon répétée des messages du leader.

Diagramme de réplication.
The diagram shows a topic partition that is replicated across three brokers.

Répliques synchrones

Une réplique de suiveur à jour par rapport au leader de partition est synchrone. Tout suiveur avec une réplique synchrone peut devenir le leader sans qu'aucun message ne soit perdu.

En cas d'échec du leader de partition, un autre leader est choisi parmi les suiveurs. Toutes les répliques doivent être généralement synchronisées. Il est acceptable qu'une réplique ne soit pas synchronisée temporairement lorsqu'elle est en cours de rattrapage après un incident.

Diagramme des répliques synchronisées.
The diagram shows a topic partition that is replicated across three brokers and staying in-sync across all replicas.

Producteurs

Un fournisseur est une application client qui publie des messages dans une ou plusieurs rubriques. Un producteur peut publier dans une ou plusieurs rubriques et choisir éventuellement la partition qui stocke les données.

Vous pouvez également configurer votre producteur pour qu'il privilégie la vitesse ou la fiabilité en choisissant le niveau d'accusé de réception qu'il reçoit pour les messages qu'il publie.

Pour plus d'informations, voir Production de messages.

Diagramme des producteurs.
The diagram shows a producer publishing messages to one topic across three brokers.

Consommateurs

Un consommateur est une application client qui lit les messages d'une ou de plusieurs rubriques et les traite. La différence entre la position actuelle d'un consommateur et le message le plus récent sur une partition est connue sous le nom de décalage de position.

Si le décalage augmente au fil du temps, alors le consommateur n'est pas en mesure de rester synchronisé. À court terme, cela ne pose pas de problème, mais le consommateur pourrait éventuellement manquer des messages si la période de conservation est dépassée.

Pour plus d'informations, voir Consommation de messages.

Diagramme de consommateurs.
The diagram shows a consumer processing messages from one topic across three brokers.

Groupes de consommateurs stables

Un groupe de consommateurs contient un ou plusieurs consommateurs qui travaillent ensemble pour traiter les messages d'une rubrique. Les messages d'une seule partition sont traités par un consommateur de chaque groupe.

Chaque partition est à tout moment affectée à un seul consommateur du groupe. Cette affectation garantit que les messages de chaque partition sont traités dans l'ordre.

Si plus de partitions que de consommateurs existent dans un groupe, certains consommateurs disposent de plusieurs partitions. Si plus de consommateurs que de partitions existent, certains consommateurs n'ont pas de partition.

Diagramme des groupes de consommateurs.
The diagram shows a consumer processing messages from one topic across three brokers.

Informations complémentaires

Pour plus d'informations, voir la documentationApache Kafka.