Junior
Qu'est-ce que Kafka?
sobes.tech IA
Réponse de l'IA
Système distribué de publication-abonnement tolérant aux pannes, développé par LinkedIn et devenu un projet Apache. Utilisé pour construire des pipelines de données en temps réel et des applications de streaming.
Composants et concepts principaux:
- Broker: Serveur Kafka. Le cluster Kafka se compose d’un ou plusieurs brokers.
- Topic: Catégorie dans laquelle les messages sont publiés. Divise logiquement les flux de données.
- Partition: Le topic est divisé en partitions. Chaque partition est une séquence ordonnée et immuable de messages. Les messages dans une partition ont un décalage (offset) unique.
- Producer: Application qui publie des messages dans un topic.
- Consumer: Application qui s’abonne à un topic et consomme des messages.
- Consumer Group: Groupe de consommateurs qui consomment conjointement des messages de un ou plusieurs topics. Les messages d’une partition sont livrés à un seul consommateur dans le groupe.
- Zookeeper: Utilisé pour coordonner le cluster Kafka (gestion des brokers, des topics, des partitions, des décalages des groupes de consommateurs). Dans les versions plus récentes, le rôle de Zookeeper est partiellement transféré au service de consensus intégré KRaft.
Kafka assure une haute capacité de traitement, une évolutivité et une tolérance aux pannes grâce à la réplication des partitions entre brokers. Les messages sont stockés sur disque et disponibles pour les consommateurs pendant une période de temps définie.
Exemples d’utilisation:
- Collecte et traitement des logs en temps réel.
- Traitement de données en streaming (via Kafka Streams, KSQL).
- Désaccouplement des services (architecture microservices).
- Synchronisation des données entre systèmes.