Ce projet simule une chaîne d’événements complète :
- Postman envoie un
POST /api/events
- Le Producteur Spring Boot publie l’événement sur un topic Kafka
- Le Cluster Kafka réplique le message sur 3 brokers
- Le Consommateur Spring Boot lit et sauvegarde les événements dans PostgreSQL
- Redpanda Console permet d’inspecter les messages en temps réel
- ⚖️ Répartition automatique des partitions sur 3 brokers Kafka
- 📮 API REST pour publier les événements
- 👂 Consumer qui écoute le topic
events-topic
- 💾 Persistance des messages dans PostgreSQL
- 🧭 Redpanda Console pour visualiser les topics et partitions Kafka
- 🐳 Infrastructure complète via
docker-compose
| id | uuid | timestamp |
flowchart TD
subgraph DockerCompose
subgraph Producteur
A[Postman] -->|POST /api/events| B[Spring Boot - Producer]
end
subgraph Cluster Kafka
B -->|send message| C[Kafka Topic: events-topic]
end
subgraph KafkaCluster
C --> P1[Partition 1 - Broker 1]
C --> P2[Partition 2 - Broker 2]
C --> P3[Partition 3 - Broker 3]
end
subgraph Monitoring
K[Redpanda Console] --> C
end
subgraph Consommateur
D[Spring Boot - Consumer] -->|consume| C
D -->|persist| DB[(PostgreSQL DB)]
end
end