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 consommateur Kafka
    • Écriture via un producteur Kafka
    • Traitent les données au besoin
Introduction à Apache Kafka

Serveur Kafka

  • Stockage, aussi appelé courtier Kafka (Kafka Broker)
    • Les données écrites par les producteurs sont stockées et organisées par sujets (topics)
    • Les sujets sont partitionnés, soit divisés en morceaux distincts
    • Les messages/événements sont placés dans une partition donnée selon un identifiant d'événement
    • Les messages sont récupérés dans le même ordre que l'écriture

Stockage Kafka et partitions

1 Image tirée 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 peuvent fournir les données demandées
  • Nombre 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

Grappe Kafka, courtiers et sujets.png

Introduction à Apache Kafka

Exemple

Grappe Kafka, courtiers et sujets.png

  • Grappe Kafka avec 3 courtiers
  • 3 sujets définis
  • Réplication 2× = perte tolérée de 1 système
  • Le courtier 1 a des copies des sujets 1 et 2
  • Le courtier 2 a des copies des sujets 2 et 3
  • Le courtier 3 a des copies des sujets 1 et 3
  • Chaque sujet est réparti sur 2 courtiers de la grappe
Introduction à Apache Kafka

Exemple avec 1 panne

Grappe Kafka, courtiers et sujets - 1 courtier en panne.png

  • Le courtier 2 tombe en panne
  • Facteur de réplication 2×
    • 2 − 1 = prise en charge d'une panne
  • Chaque sujet a encore au moins une copie dans la grappe
Introduction à Apache Kafka

Exemple avec 2 pannes

Grappe Kafka, courtiers et sujets - 2 courtiers en panne.png

  • 2 courtiers en panne
  • Facteur de réplication 2×
  • Plus de pannes que la tolérance (1 système)
  • Le sujet 2 n'est plus disponible dans la grappe
    • Les sujets 1 et 3 restent disponibles ; la panne n'est pas totale
Introduction à Apache Kafka

Passons à la pratique !

Introduction à Apache Kafka

Preparing Video For Download...