Tous les Projets
Backend

Streaming d'Événements Temps Réel — Kafka + Spring Cloud Stream

Traitement fonctionnel de flux d'événements avec Spring Cloud Stream et Kafka Streams : un supplier produit des page-events, une function les transforme, et un pipeline KStream applique des fenêtres glissantes de 5 s pour des analytics par page en temps réel diffusées au navigateur via Server-Sent Events.

Kafka Streams
Streaming engine
5s sliding
Window size
SSE
Live transport
4
Functional beans
Approche

Beans fonctionnels supplier/function/consumer + agrégation KStream fenêtrée diffusée en direct via SSE

Stack Technique
Java 17Spring Boot 3.3Spring Cloud StreamApache KafkaKafka StreamsDocker Compose
Mots-clés
Apache KafkaKafka StreamsSpring Cloud StreamEvent-DrivenSSEDockerWindowing
Analyse Approfondie

Un pipeline orienté événements bâti autour du modèle de programmation fonctionnelle de Spring Cloud Stream, avec des agrégations Kafka Streams à état.

Pipeline

pageEvent1Supplier ──► topic R2 ──► pageEvent1Consumer (logs)
                                └─► pageEvent1Function (transformation)
       StreamBridge
GET /publish/{topic}/{name} ─────► topic
                                     │
KStream1Function: filtre ──► fenêtre 5s ──► comptage par page ──► topic R4
                                                                     │
GET /analytics  ◄── Server-Sent Events ◄── requête interactive (state store)

Beans fonctionnels

BeanTypeRôle
pageEvent1SupplierSupplierÉmet des PageEvent1 vers R2 en continu
pageEvent1ConsumerConsumerConsomme & affiche les événements
pageEvent1FunctionFunctionTransforme les événements
KStream1FunctionKStreamFiltre, fenêtre (5s), compte par page → R4

Points forts

  • Agrégation fenêtrée à état avec requêtes interactives sur le state store
  • Analytics temps réel poussées vers l'UI via Server-Sent Events
  • Brokers Kafka démarrés avec Docker Compose pour un dev local en une commande