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.
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.
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 :
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.
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.
É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.
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.
Kafka permet de traiter des événements en streaming à l'aide de cinq fonctions principales :
Commencez à créer sur Google Cloud avec 300 $ de crédits inclus et plus de 20 produits toujours sans frais.