Formation Apache Kafka : de zéro à la prod

Kafka Streams : traiter les données en temps réel — chapitre 9

Construire des pipelines temps réel distribués grâce à Kafka Streams : filtrage, agrégations, joins, gestion d’état et exactly-once processing.

Réservé aux abonnés

Contexte

Kafka Streams est une bibliothèque Java légère qui permet de traiter les messages en continu directement dans vos microservices, sans cluster externe (contrairement à Spark ou Flink).

Elle repose sur 4 grands principes :

  • scalabilité native via le partitionnement Kafka,
  • state stores locaux (RocksDB),
  • exactly-once processing garantissant l'unicité des résultats,
  • topologies de transformations composables.

Kafka Streams est aujourd’hui utilisé pour :

  • le scoring en temps réel,
  • la transformation d’événements (ETL streaming),
  • l’orchestration de workflow,
  • la détection de fraude,
  • l’enrichissement de flux.

Lexique

KStream

Flux d’événements continus. Chaque message est un événement indépendant.

KTable

Vue matérialisée d’un flux compacté (dernière valeur par clé).

Topology

Graphe des transformations (source → opérateurs → sink).

State Store

Base locale (RocksDB) qui persiste l’état d’une KTable ou agrégation.

Repartition Topic

Topic interne créé quand une opération nécessite un nouveau partitionnement.

Processing Guarantees

Niveaux de garantie : at-least-once, exactly-once v2.

Diagramme

orders-csvtopic d’entréefilter + mapcommandes payées → (produit, montant)groupBy(produit)re-partition par produitfenêtre 1 min : sommeCA par produit et par minuteventes-par-minutetopic de sortieRocksDBstate store local…-changelogsauvegarde…-repartitionUne instance plante : une autre reprend la tâche en relisant le changelog
Schéma Une topologie Kafka Streams : chiffre d’affaires par minute

La suite de cette leçon est réservée aux abonnés

Les 3 premières leçons de chaque formation sont gratuites. Débloquez la suite pour continuer.