2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Courtier : fait référence à un nœud du cluster Kafka. Un cluster Kafka se compose de plusieurs courtiers qui travaillent ensemble pour gérer le stockage, la transmission et la consommation des messages. Le courtier gère une ou plusieurs partitions.
Sujet : Le producteur envoie le message au sujet spécifié et le consommateur s'abonne au sujet pour obtenir le message. Le sujet lui-même n'est qu'un regroupement logique et n'a aucune notion de stockage physique.
Cloison : Il s'agit d'un sous-ensemble de Topic et de l'unité de base permettant de stocker et de traiter réellement les messages dans Kafka. Chaque sujet peut être divisé en plusieurs partitions, et chaque partition est une séquence de messages ordonnée et immuable.
Réplique: Une partition peut avoir plusieurs copies.
Leader Courtier: Sous plusieurs copies d'une partition, courtier chargé de traiter toutes les demandes de lecture et d'écriture pour la partition.
Courtier suiveur: Sous plusieurs copies d'une partition, le courtier chargé de synchroniser les données du leader se trouve dans la partition.
Le producteur envoie le message (enregistrement) à Kafka et le consommateur obtient les données via le décalage (offset, similaire à un indice de tableau).
Dans le même temps, chaque partition aura son propre fichier journal. Kafka utilise des fichiers journaux pour enregistrer les données sur le disque.
Les producteurs se connectent au cluster Kafka via Bootstrap Broker. Cette étape consiste à établir la connexion initiale et à obtenir les métadonnées du cluster.
Une fois que le producteur obtient ces métadonnées, il sait qui est le courtier leader pour chaque partition et peut donc envoyer des messages directement au bon courtier leader.
Le producteur doit spécifier un sujet lors de l'envoi d'un message, mais le partitionnement est facultatif.
Dans Kafka, lorsqu'un producteur envoie un message à un courtier, la première opération du courtier est d'enregistrer le message sur le disque pour garantir la persistance et la fiabilité du message.
Les consommateurs de Kafka appartiennent généralement à un groupe de consommateurs. Chaque groupe de consommateurs possède un identifiant de groupe unique. Le concept de groupes de consommateurs est utilisé pour réaliser l'équilibrage de charge et la consommation parallèle des messages.
Lorsque plusieurs consommateurs appartiennent au même groupe, Kafka attribuera la partition Sujet aux consommateurs du groupe.Chaque partition ne peut être consommée que par un seul consommateur au sein du groupe, qui peut réaliser un équilibrage de charge.
Un seul consommateur s'abonne à un sujet:
Plusieurs consommateurs appartiennent au même groupe:
Plusieurs consommateurs appartiennent à différents groupes:
Kafka créera de nouvelles partitions dans le cluster. Ces nouvelles partitions seront attribuées à différents courtiers pour obtenir un stockage équilibré et une haute disponibilité des données. Kafka ne redistribue ni n'équilibre automatiquement les données des partitions existantes vers les nouvelles partitions. Les nouvelles partitions sont vides dès leur création et les données ne seront écrites sur ces nouvelles partitions que lorsque les producteurs suivants enverront des messages. Le groupe de consommateurs détectera le changement du nombre de partitions et déclenchera un rééquilibrage.
Kafka permet à chaque partition d'avoir plusieurs répliques (Replica), qui sont stockées sur différents Brokers. Une réplique est appelée Leader et est responsable du traitement de toutes les demandes de lecture et d'écriture. Les autres répliques sont des Followers et sont responsables de la synchronisation des données du Leader.
Une seule copie de plusieurs copies peut lire et écrire en même temps, c'est-à-dire la copie Leader. Les autres copies deviennent des copies Follower et sont utilisées comme sauvegardes.