Cas d'utilisation d'Apache Kafka : stimuler l'innovation dans divers secteurs

Jeune homme portant un casque de réalité virtuelle

Auteur

Mesh Flinders

Staff Writer

IBM Think

Apache Kafka est une plateforme de streaming open source et distribuée qui permet aux développeurs de créer des applications en temps réel et pilotées par des événements. Avec Apache Kafka, les développeurs peuvent créer des applications qui utilisent des enregistrements de données en continu et offrent des expériences en temps réel aux utilisateurs.

Qu'il s'agisse de vérifier le solde d'un compte, de regarder Netflix ou de naviguer sur LinkedIn, les utilisateurs d'aujourd'hui attendent des applications qu'elles leur offrent une expérience en temps quasi réel. L'architecture événementielle d'Apache Kafka a été conçue pour stocker des données et diffuser des événements en temps réel, ce qui en fait à la fois un courtier de messages et une unité de stockage qui permet d'offrir une expérience utilisateur en temps réel dans de nombreux types d'applications.

Apache Kafka est l’un des systèmes de traitement de données open source les plus populaires disponibles, avec près de 50 000 entreprises qui utilisent Kafka et possèdent une part de marché de 26,7 %.

Design 3D de balles roulant sur une piste

Les dernières actualités et informations en matière d’IA 


La newsletter hebdomadaire Think vous apporte toute l’actualité sur l’IA, le cloud et bien d’autres sujets. 

Comment fonctionne Apache Kafka ?

Kafka est un système distribué, c'est-à-dire un ensemble de différents programmes logiciels qui partagent des ressources informatiques entre plusieurs nœuds (ordinateurs) afin d'atteindre un objectif commun. Cette architecture rend Kafka plus tolérant aux pannes que d'autres systèmes, car il peut faire face à la perte d'un seul nœud ou d'une seule machine dans le système tout en continuant à fonctionner.

Parmi les systèmes distribués, Apache s’est distingué comme l’un des meilleurs outils pour construire des architectures de microservices, une approche cloud native où une application est composée de nombreux composants ou services plus petits. En plus des environnements cloud natifs, les développeurs utilisent également Apache Kafka sur Kubernetes, une plateforme open source d’orchestration de conteneurs, pour développer des applications utilisant des cadres sans serveur.

Pour les développeurs, l'attrait d'Apache tient en grande partie à son architecture unique. Apache utilise un système de messagerie de type publication-abonnement, un système qui repose sur ce que l'on appelle la communication asynchrone, facilitant ainsi la tâche des développeurs qui souhaitent créer des applications avancées et complexes sur le plan architectural. L'architecture d'Apache se compose de trois catégories : événements, producteurs et consommateurs, et elle repose fortement sur des interfaces de programmation d’application ou API pour fonctionner.

Concepts importants de Kafka

Apache Kafka fonctionne sur quatre concepts sous-jacents : les événements, la transmission d’événements en continu, les producteurs et les consommateurs. Voici un bref aperçu de la façon dont chacun de ces modèles fonctionne ensemble pour donner à Apache Kafka ses capacités de base.

Événements et streaming

Lorsqu'un utilisateur interagit avec un site Web, pour s'inscrire à un service ou passer une commande, par exemple, cela est décrit comme un « événement ». Dans l'architecture Apache, un événement est un message contenant des informations décrivant ce que l'utilisateur a fait. Par exemple, si un utilisateur s’est inscrit sur un site web, un enregistrement d’événement contiendra son nom et son adresse e-mail.

Peut-être qu'aucune autre fonctionnalité ne distingue Apache Kafka des autres architectures de stockage de données autant que sa capacité à diffuser des événements en continu, une fonctionnalité connue sous le nom de « transmission d’événements en continu » ou simplement « transmission » (et plus précisément, dans le cas d'Apache Kafka, sous le nom de « flux Kafka »). On parle de transmission d’événements en continu lorsque des données générées par des centaines, voire des milliers de producteurs, sont envoyées simultanément aux consommateurs par l'intermédiaire d'une plateforme.

Producteurs et consommateurs

Un « producteur », dans l’architecture Apache Kafka, est tout ce qui peut créer des données, par exemple un serveur web, une application ou un composant d'application, l'Internet des objets (IdO), et bien d’autres. Un « consommateur » est un composant qui a besoin des données créées par le producteur pour fonctionner. Par exemple, dans une application IdO, les données peuvent être des informations provenant de capteurs connectés à Internet, comme un thermomètre ou un capteur dans un véhicule autonome qui détecte qu'un feu de circulation a changé.

L'architecture de Kafka est conçue de manière à pouvoir gérer un afflux constant de données sur les événements générées par les producteurs, tenir des registres précis de chaque événement et publier en permanence un flux de ces enregistrements pour les consommateurs.

IBM® Kafka

Qu’est-ce que Kafka ?

Whitney Lee d’IBM® Cloud explique comment Apache Kafka, une plateforme de streaming distribuée open source, permet aux développeurs de créer des applications qui exploitent des flux d’événements pour créer des applications haute performance.

Cas d’utilisation d’Apache Kafka

La fonctionnalité principale d'Apache Kafka, à savoir le traitement des données en temps réel, a considérablement élargi les possibilités offertes par les applications dans de nombreux secteurs. Grâce à Kafka, les entreprises explorent de nouvelles façons d'exploiter les données en continu afin d'augmenter leurs revenus, de stimuler la transformation numérique et de créer des expériences exceptionnelles pour leurs clients. Voici quelques-uns des exemples les plus frappants.

Internet des objets (IdO)

L'Internet des objets (IdO), un réseau d'appareils équipés de capteurs leur permettant de collecter et de partager des données sur l'internet, s'appuie fortement sur l'architecture Kafka. Par exemple, les capteurs connectés à un moulin à vent utilisent des capacités IdO pour transmettre des données sur la vitesse du vent, la température et l’humidité via Internet. Dans cette architecture, chaque capteur est un producteur qui génère des données chaque seconde qu'il envoie à un serveur principal ou à une base de données, le consommateur, pour traitement.

L'architecture Kafka facilite la transmission et la réception de données, ainsi que leur traitement, en temps réel, ce qui permet aux scientifiques et aux ingénieurs de suivre les conditions météorologiques à des centaines ou des milliers de kilomètres de distance. Les capacités d'Apache en matière de conservation des enregistrements et de mise en file d'attente des messages garantissent la qualité et l'exactitude des données collectées.

Services financiers

De la même manière qu'Apache permet la collecte de données via des appareils IoT qui peuvent être transmises en temps réel aux consommateurs, il permet également la collecte et l'analyse d'informations provenant du marché boursier.

Apache a été utilisé pour de nombreux workloads essentiels à l'activité et à haut volume, indispensables au trading boursier et à la surveillance des marchés financiers. Certaines des plus grandes banques et institutions financières du monde, telles que PayPal, Ing et JP Morgan Chase, l’utilisent pour l’analyse des données en temps réel, la détection des fraudes financières, la gestion des risques dans les opérations bancaires, la conformité réglementaire, l’analyse de marché et bien plus encore.

Vente au détail

Les détaillants en ligne et les sites de commerce électronique doivent traiter chaque jour des milliers de commandes à partir de leur application ou de leur site web, et Kafka joue un rôle central dans ce processus pour de nombreuses entreprises. Le temps de réponse et la gestion de la relation client (CRM) sont les clés du succès dans le secteur de la vente au détail, il est donc important que les commandes soient traitées rapidement et avec précision.

Kafka contribue à simplifier la communication entre les clients et les entreprises, en utilisant son pipeline de données pour enregistrer avec précision les événements et conserver les enregistrements des commandes et des annulations, alertant toutes les parties concernées en temps réel. Outre le traitement des commandes, Kafka génère des données précises qui peuvent être analysées pour évaluer les performances de l'entreprise et obtenir des informations précieuses.

Soins de santé

Le secteur de la santé compte sur Kafka pour connecter les hôpitaux aux dossiers médicaux électroniques (DSE) essentiels et aux informations confidentielles des patients. Kafka facilite la communication bidirectionnelle qui alimente les applications de santé qui reposent sur des données générées en temps réel par plusieurs sources différentes. Les capacités de Kafka permettent également le partage de connaissances en temps réel, par exemple l'allergie d'un patient à un certain médicament, ce qui peut sauver des vies.

En plus d'aider les médecins à obtenir des données en temps réel qui les aident à traiter leurs patients, Kafka joue également un rôle essentiel dans le domaine de la recherche médicale. Ses capacités de stockage et d'analyse des données permettent aux chercheurs d'étudier les données médicales afin de mieux comprendre les maladies et les soins prodigués aux patients, accélérant ainsi les avancées médicales.

Télécommunications

Les entreprises de télécommunications utilisent Apache pour de nombreux services. Son traitement de flux de données en temps réel est principalement utilisé pour surveiller les réseaux qui alimentent des millions d'appareils sans fil dans le monde entier. Apache recueille des données sur les opérations du réseau qu'il transmet en temps réel à des serveurs qui les analysent en permanence pour détecter d'éventuels problèmes. Les enregistrements qu’Apache conserve pour les entreprises de télécommunications incluent les appels, textos, données clients, utilisation, appels interrompus et plus encore.

Jeu vidéo

Les plateformes de jeu les plus avancées modernes reposent sur une communication en temps réel entre des joueurs situés à des centaines, voire des milliers de kilomètres les uns des autres. S’il y a un temps de latence dans un jeu où le temps de réaction des joueurs est essentiel à leur réussite, les performances en pâtiront. De plus, le secteur du jeu vidéo est en plein essor ces derniers temps, enregistrant un taux de croissance annuel composé (TCAC) de 13,4 %, ce qui renforce l'attention portée à ses principaux indicateurs opérationnels.

Apache permet aux joueurs de communiquer et d'interagir à la vitesse de l'éclair, ce qui rend les écosystèmes de jeux hyperréalistes si populaires. Les nouveaux jeux s'appuient sur les capacités de streaming en temps réel d'Apache, ainsi que sur ses fonctions d'analyse et de stockage de données en temps réel. De plus, le pipeline de streaming d'Apache permet aux joueurs de maintenir le contact entre eux en temps réel en garantissant que les mouvements des joueurs sont transmis instantanément aux autres joueurs. 

Avantages d’Apache Kafka

Les développeurs et les ingénieurs de certaines des plus grandes et des plus modernes entreprises du monde utilisent Apache pour développer de nombreuses applications métier en temps réel. Apache Kafka est à l'origine d'applications destinées aux secteurs financiers, aux géants du shopping en ligne, aux plateformes de streaming vidéo, aux créateurs de jeux vidéo innovants, etc. Développer avec Kafka présente de nombreux avantages par rapport aux autres plateformes. En voici quelques-un parmi les plus populaires.

Rapidité

Le système de traitement des données de Kafka utilise des API d'une manière unique qui lui permet d'optimiser l'intégration des données à de nombreuses autres conceptions de stockage de bases de données, telles que les architectures SQL et NoSQL populaires, utilisées pour l'analyse des big data.

Évolutivité

Kafka a été conçu pour résoudre les problèmes de latence élevée dans le traitement des files d'attente par lots sur certains des sites Web les plus fréquentés au monde. Il dispose d'une évolutivité élastique multi-clusters, qui permet de répartir les workflows sur plusieurs clusters Kafka plutôt que sur un seul, offrant ainsi une plus grande évolutivité, un débit élevé et une faible latence.

Connectivité

Apache Connect, un outil de streaming de données, est fourni avec 120 connecteurs préconfigurés qui permettent à Apache de s'intégrer à toutes les solutions de stockage de données backend les plus populaires, notamment Amazon S3 d'AWS, MongoDB, Google BigQuery, ElasticSearch, Azure, DataDog et bien d'autres. Les développeurs qui utilisent Apache peuvent accélérer le développement d'applications en prenant en charge toutes les exigences de leur entreprise.

Stockage et suivi

Étant donné que certains des sites Web les plus importants et les plus exigeants au monde utilisent Apache, il est nécessaire que ce dernier puisse enregistrer rapidement et précisément l'activité des utilisateurs afin d'éviter toute interruption. Apache enregistre en temps réel les événements fréquents tels que l’inscription des utilisateurs, les vues de page, les achats et d’autres informations liées au suivi de l’activité du site web. Ensuite, il regroupe les données par thème et les stocke sur un réseau distribué pour un accès rapide et facile.

Messagerie

Apache reçoit et conserve les messages dans une file d'attente, un conteneur utilisé pour le stockage et la transmission des messages. Le conteneur relie les messages aux applications des consommateurs et à l'utilisateur. Apache est conçu de manière similaire à d'autres courtiers de messages populaires, tels que RabbitMQ ; cependant, contrairement à Rabbit et à ces autres courtiers, il divise ses messages en sujets Kafka à l'aide d'une clé de message qui peut être utilisée pour filtrer les messages par pertinence.

Traitement de données

L'une des caractéristiques les plus intéressantes d'Apache est sa capacité à capturer et à stocker des données d'événements en temps réel. D'autres pipelines de données en temps réel populaires doivent fonctionner dans ce qu'on appelle un lot planifié, c'est-à-dire un lot de données qui ne peut être traité qu'à une heure préétablie. La conception d'Apache permet de traiter les données en temps réel, ce qui rend possible le fonctionnement de technologies telles que l'IdO, l'analyse de données et d'autres technologies qui dépendent du traitement des données en temps réel.

En savoir plus

Apache Kafka a été conçu pour stocker des données et diffuser des événements en temps réel, offrant ainsi une expérience utilisateur dynamique à travers un ensemble diversifié d'applications. IBM Event Streams aide les entreprises à optimiser Kafka grâce à une plateforme open source qui peut être déployée soit en tant que service entièrement géré sur IBM Cloud, soit sur site dans le cadre d'Event Automation.

Image vue du dessus d'un homme assis sur un banc

Les informations à ne pas manquer : abonnez-vous à nos newsletters.

Allez au-delà du battage médiatique grâce à des actualités d’experts sur l’IA, l’informatique quantique, le cloud, la sécurité et bien plus encore.

S’abonner dès maintenant
Solutions connexes
IBM Event Streams

IBM® Event Streams est un logiciel de transmission d’événements en continu basé sur la plateforme open source Apache Kafka. Il est disponible en tant que service entièrement géré sur IBM® Cloud ou en auto-hébergement.

Découvrir Event Streams
Logiciels et solutions d’intégration

Libérez le potentiel de votre entreprise avec les solutions d’intégration IBM qui connectent les applications et les systèmes pour fournir un accès rapide et sécurisé aux données critiques.

Découvrir les solutions d’intégration
Services de conseil en cloud

Déverrouillez de nouvelles capacités et stimulez l’agilité métier grâce aux services de conseils cloud d’IBM.

Découvrir les services de conseil cloud
Passez à l’étape suivante

IBM® Event Streams est un logiciel de transmission d’événements en continu basé sur la plateforme open source Apache Kafka. Il est disponible en tant que service entièrement géré sur IBM® Cloud ou en auto-hébergement.

Découvrir Event Streams Obtenir plus d'informations