🔶 Apache Kafka
🔸 Définition
Apache Kafka est une plateforme de streaming distribué.
Elle permet de publier, stocker et consommer des flux de données en temps réel (events, logs, messages).
🔸 Fonctionnement
-
Basé sur le modèle Publish/Subscribe :
Les producteurs envoient des messages dans des topics, et les consommateurs s’y abonnent. -
Données persistées sur disque pour tolérance aux pannes.
-
Très performant (capable de gérer des millions de messages par seconde).
🔸 Cas d’usage
-
Traitement de flux temps réel (IoT, logs applicatifs, transactions).
-
Intégration entre microservices (Event-driven architecture).
-
Pipeline de données (ETL streaming).
-
Monitoring / alerting en temps réel.
🔸 Avantages
-
Haute performance, scalabilité horizontale.
-
Haute disponibilité.
-
Écosystème riche (Kafka Connect, Kafka Streams...).
🔷 Apache Cassandra
🔸 Définition
Cassandra est une base de données NoSQL distribuée orientée colonnes, conçue pour gérer de grandes quantités de données avec haute disponibilité et scalabilité.
🔸 Fonctionnement
-
Architecture peer-to-peer (pas de maître unique).
-
Réplication automatique des données sur plusieurs nœuds.
-
Modèle de données basé sur des tables, colonnes et clés primaires composées.
🔸 Cas d’usage
-
Stockage massif de données temporelles (logs, capteurs, métriques).
-
Applications nécessitant haute disponibilité (réplication multi-datacenter).
-
Backend pour systèmes de recommandation, messagerie, etc.
🔸 Avantages
-
Tolérance aux pannes (aucun point de défaillance unique).
-
Scalabilité linéaire.
-
Haute performance en écriture.
🔁 Kafka + Cassandra : une combinaison fréquente
-
Kafka gère le flux de données en temps réel.
-
Cassandra stocke ces données de manière durable et distribuée.
Exemple typique :
Des capteurs envoient des données ➜ Kafka collecte et transmet les événements ➜ Un consommateur Kafka insère les données dans Cassandra pour stockage et analyse.
Aucun commentaire:
Enregistrer un commentaire