Apache Kafka - Principes de base

Avant de vous plonger dans la Kafka, vous devez connaître les principales terminologies telles que les sujets, les courtiers, les producteurs et les consommateurs. Le diagramme suivant illustre les principales terminologies et le tableau décrit les composants du diagramme en détail.

Dans le diagramme ci-dessus, une rubrique est configurée en trois partitions. La partition 1 a deux facteurs de décalage 0 et 1. La partition 2 a quatre facteurs de décalage 0, 1, 2 et 3. La partition 3 a un facteur de décalage 0. L'ID de la réplique est identique à l'ID du serveur qui l'héberge.

Supposons que si le facteur de réplication de la rubrique est défini sur 3, Kafka créera 3 répliques identiques de chaque partition et les placera dans le cluster pour les rendre disponibles pour toutes ses opérations. Pour équilibrer une charge dans le cluster, chaque courtier stocke une ou plusieurs de ces partitions. Plusieurs producteurs et consommateurs peuvent publier et récupérer des messages en même temps.

S. Non Composants et description
1

Topics

Un flux de messages appartenant à une catégorie particulière est appelé un sujet. Les données sont stockées dans des rubriques.

Les sujets sont divisés en partitions. Pour chaque sujet, Kafka conserve un mini-mum d'une partition. Chacune de ces partitions contient des messages dans une séquence ordonnée immuable. Une partition est implémentée sous la forme d'un ensemble de fichiers segment de tailles égales.

2

Partition

Les sujets peuvent avoir de nombreuses partitions, ce qui leur permet de gérer une quantité arbitraire de données.

3

Partition offset

Chaque message partitionné a un identifiant de séquence unique appelé offset .

4

Replicas of partition

Les répliques ne sont rien d'autre que des sauvegardes d'une partition. Les répliques ne sont jamais lues ou écrites des données. Ils sont utilisés pour éviter la perte de données.

5

Brokers

  • Les courtiers sont un système simple chargé de maintenir les données publiées. Chaque courtier peut avoir zéro ou plusieurs partitions par sujet. Supposons que s'il y a N partitions dans une rubrique et N nombre de courtiers, chaque courtier aura une partition.

  • Supposons que s'il y a N partitions dans une rubrique et plus de N courtiers (n + m), le premier N courtier aura une partition et le prochain M courtier n'aura pas de partition pour cette rubrique particulière.

  • Supposons que s'il y a N partitions dans une rubrique et moins de N courtiers (nm), chaque courtier aura une ou plusieurs partitions partagées entre eux. Ce scénario n'est pas recommandé en raison d'une répartition inégale de la charge entre le courtier.

6

Kafka Cluster

Kafka ayant plus d'un courtier est appelé cluster Kafka. Un cluster Kafka peut être étendu sans temps d'arrêt. Ces clusters sont utilisés pour gérer la persistance et la réplication des données de message.

sept

Producers

Les producteurs sont l'éditeur de messages sur un ou plusieurs sujets Kafka. Les producteurs envoient des données aux courtiers Kafka. Chaque fois qu'un producteur publie un message à un courtier, le courtier ajoute simplement le message au dernier fichier segment. En fait, le message sera ajouté à une partition. Le producteur peut également envoyer des messages à une partition de son choix.

8

Consumers

Les consommateurs lisent les données des courtiers. Les consommateurs s'abonnent à un ou plusieurs sujets et consomment les messages publiés en extrayant les données des courtiers.

9

Leader

Leader est le nœud responsable de toutes les lectures et écritures pour la partition donnée. Chaque partition a un serveur agissant en tant que leader.

dix

Follower

Le nœud qui suit les instructions du leader est appelé comme suiveur. Si le chef échoue, l'un des suiveurs deviendra automatiquement le nouveau chef. Un abonné agit comme un consommateur normal, extrait les messages et met à jour sa propre banque de données.