Architecture de Kafka

Introduction à Apache Kafka

Mike Metzger

Data Engineering Consultant

Composants Kafka

  • Serveur Kafka
    • Grappes de un ou plusieurs ordinateurs
    • Stocke les données
    • Gère les communications
    • Peut aussi s'intégrer à d'autres systèmes (bases de données, journaux, etc.)
  • Clients Kafka
    • Lecture via un consumer Kafka
    • Écriture via un producer Kafka
    • Traitent les données selon les besoins
Introduction à Apache Kafka

Serveur Kafka

  • Stockage, aussi appelé Broker Kafka
    • Les données écrites par les producers sont stockées et organisées par topics
    • Les topics sont partitionnés, c'est‑à‑dire découpés en segments
    • Les messages/événements vont dans une partition donnée selon un identifiant d'événement
    • Les messages sont relus dans le même ordre que l'écriture

Stockage Kafka et partitions

1 Image provenant de https://kafka.apache.org/intro
Introduction à Apache Kafka

Partitions et réplication

  • Kafka est tolérant aux pannes
  • Si un système tombe, les autres fournissent les données demandées
  • Nb max de pannes pris en charge = facteur de réplication − 1
  • Facteur de réplication max = nombre de serveurs
  • La réplication se fait en copiant les partitions

Cluster Kafka, brokers et topics.png

Introduction à Apache Kafka

Exemple

Cluster Kafka, brokers et topics.png

  • Cluster Kafka avec 3 brokers
  • 3 topics définis
  • Réplication 2x = perte possible d'1 système
  • Le broker 1 a des copies des Topics 1 et 2
  • Le broker 2 a des copies des Topics 2 et 3
  • Le broker 3 a des copies des Topics 1 et 3
  • Chaque topic est réparti sur 2 brokers du cluster
Introduction à Apache Kafka

Exemple avec 1 panne

Cluster Kafka, brokers et topics - 1 broker en panne.png

  • Le broker 2 tombe en panne
  • Facteur de réplication 2x
    • 2 − 1 = prise en charge d'1 panne
  • Chaque topic a encore au moins une copie dans le cluster
Introduction à Apache Kafka

Exemple avec 2 pannes

Cluster Kafka, brokers et topics - 2 brokers en panne.png

  • 2 brokers en panne
  • Facteur de réplication 2x
  • Pannes supérieures au supporté (1 système)
  • Le Topic 2 n'est plus disponible dans le cluster
    • Les Topics 1 et 3 restent disponibles : pas de panne totale
Introduction à Apache Kafka

Passons à la pratique !

Introduction à Apache Kafka

Preparing Video For Download...