Qu'est-ce que Apache Kafka ?

Dernière mise à jour : 12/06/2026

Apache Kafka est une plate-forme de streaming d'événements Open Source couramment utilisée pour collecter, traiter et stocker des flux continus d'événements. Kafka est couramment utilisé comme middleware de messagerie, mais il offre une évolutivité et une redondance qui permettent aux applications distribuées de gérer un seul événement par jour ou des milliards par seconde. Contrairement aux systèmes de messagerie traditionnels, Kafka est également un système de stockage durable qui stocke les enregistrements dans un journal ordonné pouvant être lu et relu de manière reproductible. Kafka est donc un système couramment utilisé pour distribuer les modifications apportées aux bases de données transactionnelles. Ces modifications peuvent servir à reconstruire ou à matérialiser les données dans des systèmes d'analyse et d'autres systèmes. Ce modèle est parfois appelé "sourcing d'événements".

Kafka est donc important pour les modèles de bus d'événements traditionnels, où les applications basées sur les événements sont intégrées par le biais d'un middleware de messagerie, ainsi que pour les architectures de syndication de données (ou "matérialisation hétérogène"). Cette solution offre une faible latence et est rentable. 

Découvrez Google Cloud Managed Service pour Apache Kafka pour automatiser votre infrastructure de flux et accélérer les workflows de données vers l'IA. 

Présentation d'Apache Kafka

Kafka collecte les flux de données et enregistre exactement ce qui s'est passé et quand. Cet enregistrement porte le nom de journal de type "append-only" (ajout uniquement). Il est immuable, car on peut y ajouter des données, mais pas le modifier. À partir de là, les applications peuvent s'abonner au journal pour accéder aux données ou le modifier pour y ajouter des données en temps réel.

Si le terme "Kafka" désigne souvent le système de stockage à faible latence, la plate-forme de flux de données inclut d'autres composants importants. Le premier est Kafka Connect, un système d'intégration qui permet aux connecteurs à évolutivité horizontale de se connecter à de nombreux systèmes importants. Cela inclut les connecteurs de capture de données modifiées (CDC), la réplication de cluster à cluster (MirrorMaker) et la possibilité d'écrire des données dans des systèmes en aval tels que des lakehouses (Apache Iceberg), des lacs (fichiers Avro ou Parquet sur le stockage d'objets) et des bases de données telles que BigQuery. Deuxièmement, les projets Kafka sont fournis avec un ensemble de clients puissants, y compris des clients en ligne de commande administratifs pour manipuler les clusters et les sujets, ainsi que des bibliothèques clientes hautes performances pour lire et écrire des données.   

Auparavant, le traitement des données était géré par des tâches par lot périodiques, où les données brutes étaient d'abord stockées, puis traitées à des intervalles arbitraires. Par exemple, une entreprise de retail peut attendre la fin de la journée pour analyser les données de vente. L'une des limitations du traitement par lot est qu'il ne se fait pas en temps réel. De plus en plus, les organisations et les data scientists souhaitent analyser les données en temps réel à mesure qu'elles sont générées afin de prendre des décisions commerciales éclairées et d'alimenter des modèles d'IA en temps réel.C'est là qu'intervient le traitement de flux d'événements. Le streaming d'événements est le processus qui consiste à traiter des flux infinis d'événements au fur et à mesure qu'ils sont créés. Cela permet de capturer la valeur temporelle des données et de créer des applications en mode Push qui entrent en action dès qu'il se passe quelque chose d'intéressant. Pour les data scientists, cela signifie qu'ils peuvent effectuer l'ingénierie des caractéristiques en temps réel et fournir des prédictions à faible latence. 

Pourquoi les ingénieurs de données utilisent Apache Kafka ?

Si de nombreuses organisations se concentrent sur les insights en aval générés par les data scientists, les principaux utilisateurs d'Apache Kafka sont les ingénieurs de données. Ces professionnels sont chargés de créer les "pipelines de données" et les intégrations essentiels qui connectent les applications et les bases de données d'une entreprise.

Les ingénieurs de données utilisent Kafka pour créer des connexions fiables dans la pile technologique. Ces intégrations peuvent prendre plusieurs formes :

  • Application à application : permettre aux microservices de communiquer via des architectures basées sur les événements
  • Base de données à base de données : synchronisation des données entre différents systèmes de stockage pour la redondance ou le traitement spécialisé
  • Application à base de données : capture des événements front-end (par exemple, les interactions des utilisateurs sur une application mobile) et diffusion en flux continu vers les bases de données back-end

Dans une entreprise classique, l'ingénieur de données travaille en étroite collaboration avec les équipes chargées des applications pour s'assurer que les événements utilisateur, les transactions commerciales et les mises à jour de la base de données sont exportés vers Kafka. Ce processus, appelé syndication de données, met ces événements à la disposition de plusieurs utilisateurs et systèmes de l'organisation en même temps.

Les ingénieurs de données écrivent le code des pipelines qui transforment les journaux d'application bruts en formats structurés de haute qualité. Cette transformation est essentielle pour les data scientists, qui ont généralement besoin de données "nettoyées" stockées dans des environnements interrogeables tels que des lacs de données, des lakehouses ou des entrepôts de données, plutôt que d'interagir directement avec le flux Kafka brut.

Dans le contexte de la data science et de l'IA, la valeur de Kafka réside principalement dans l'accès aux données. Il sert de source complète pour les journaux d'application et les modifications de base de données. Si Kafka est réputé pour sa rapidité, pour la plupart des workflows de data science, l'étendue et la fiabilité de la source de données sont bien plus importantes que la livraison à faible latence.

Pourquoi Kafka est-il important pour les systèmes d'IA ?

Les systèmes d'IA s'appuient sur des données d'entraînement de haute qualité et sur le contexte lors de l'inférence. Kafka est souvent essentiel pour l'entraînement, car il permet de collecter des données d'entraînement à partir de divers systèmes sources, des journaux d'interaction aux modifications de bases de données. Dans de nombreuses organisations, il est utilisé comme bus d'événements pour agréger les événements provenant de nombreux services ou simplement comme emplacement de préparation pour les journaux d'application. Cela en fait une source de données unique et naturelle pour générer des ensembles de données d'entraînement.Comme Kafka stocke les enregistrements dans une séquence ordonnée, il peut également être particulièrement adapté aux LLM qui fonctionnent sur des séquences. 

Kafka est essentiel pour de nombreuses tâches d'inférence en ligne. La capacité d'une application ou d'un agent à fournir une recommandation de produit, une réponse de recherche ou une requête pertinente repose sur la disponibilité du contexte le plus récent pour un utilisateur. Kafka prend en charge une communication à faible latence et évolutive, ce qui permet à un système d'inférence de mettre à jour le contexte utilisateur avec les derniers événements en quelques dizaines de millisecondes. Par exemple, si un utilisateur refuse la dernière recommandation de chanson dans une application musicale ou si le prix d'une action change dans une application financière, un service de recommandation peut immédiatement générer une meilleure suggestion en tenant compte de cette entrée. 

Quels sont les avantages de Kafka ?

Écosystème Open Source

Le code source de Kafka est disponible sans frais et bénéficie d'une communauté mondiale qui contribue à son amélioration en proposant une large gamme de connecteurs, d'outils de surveillance et de plug-ins.

Évolutivité et rapidité

Kafka est une plate-forme distribuée, ce qui signifie que le traitement est réparti sur plusieurs machines. Cela lui permet de s'adapter pour gérer des volumes de données massifs tout en maintenant une latence inférieure à la milliseconde.

Haute disponibilité

Comme il est distribué, Kafka reste fiable même si des machines tombent en panne, ce qui le rend adapté aux applications critiques.

Kafka en tant que service géré

La configuration de clusters Kafka sur site est notoirement difficile. Les équipes doivent provisionner des machines, gérer la sécurité et effectuer les opérations de correction courantes. Avec un service géré, un fournisseur s'occupe de l'infrastructure sous-jacente, ce qui vous permet de vous concentrer sur la création d'applications. C'est particulièrement utile pour les équipes de data science qui souhaitent se concentrer sur le développement de modèles et les insights plutôt que sur la gestion de l'infrastructure. 

Relevez vos plus grands défis avec Google Cloud

Les nouveaux clients bénéficient de 300 $ de crédits à dépenser sur Google Cloud.
Contactez un spécialiste des ventes Google Cloud pour discuter plus en détail de votre problématique.

Comment fonctionne Kafka ?

Kafka permet de traiter des événements en streaming à l'aide de cinq fonctions principales :

  1. Production ou écriture de données : une source peut écrire des journaux, des événements, des enregistrements ou des données dans des sujets (regroupements d'événements de données). 
  2. Stockage  : Apache Kafka fournit un stockage durable à haute disponibilité, qui sert souvent de "source de vérité" fiable pour les architectures basées sur des événements. C'est particulièrement utile lorsque vous devez revenir en arrière et examiner ce qui s'est passé, plutôt que de simplement réagir aux événements en direct. Comme Kafka stocke les enregistrements dans un journal ordonné qui peut être lu et relu de manière reproductible, il permet aux équipes de reconstruire les données dans les systèmes d'analyse ou d'examiner les transactions passées avec un contexte complet.
  3. Consommer  : une application peut lire un ou plusieurs sujets pour traiter le flux de données résultant.
  4. Connecter  : les connecteurs réutilisables associent Kafka aux systèmes existants comme BigQuery et Dataproc.

Autres ressources

  • Présentation de BigQuery Studio : un espace de travail unifié permettant aux professionnels des données d'accélérer les workflows de données vers l'IA avec des notebooks SQL et Python
  • Présentation des tables Iceberg : créez des tables Iceberg gérées qui permettent aux moteurs Open Source comme Spark d'interroger des données de flux avec des performances élevées.

Passez à l'étape suivante

Commencez à créer sur Google Cloud avec 300 $ de crédits inclus et plus de 20 produits toujours sans frais.

  • Produits Google Cloud
  • Parcourez plus de 100 produits. Les nouveaux clients bénéficient de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail. Tous les clients peuvent utiliser plus de 25 produits gratuitement, dans les limites mensuelles spécifiées.
Google Cloud