Présentation
Les données de diffusion en continu correspondent au flux d'informations qui circulent en continu et en temps réel. Elles constituent la base du modèle logiciel de l'architecture orientée événements. Les applications modernes peuvent utiliser des données de diffusion en continu pour traiter, stocker et analyser des données.
Les données de diffusion en continu pourraient être assimilées à un journal des modifications ou des événements survenus dans un ensemble de données, qui évolue généralement à un rythme extrêmement rapide.
Parmi les grands ensembles de données en évolution constante qui sont susceptibles de constituer des sources de données de diffusion en continu figurent les transactions financières, les données des capteurs connectés (IoT), l'exploitation logistique, les commandes au détail ou encore le suivi des patients dans les hôpitaux. La diffusion de données en continu, qui peut être considérée comme l'avenir de la messagerie, est adaptée aux situations qui exigent une réponse en temps réel aux événements.
Les données d'événements, qui constituent la base d'une architecture orientée événements, sont un exemple de diffusion de données en continu. L'architecture orientée événements rassemble des microservices faiblement couplés dans le cadre du développement agile.
Importance des données de diffusion en continu
Aujourd'hui, les utilisateurs d'applications exigent des expériences numériques en temps réel. Les applications capables de consommer et de traiter des données de diffusion en continu offrent de meilleures performances et améliorent la satisfaction des clients.
Avant, les applications nécessitant des réponses en temps réel aux événements s'appuyaient sur des bases de données et des systèmes de traitement des messages. De tels systèmes ne suffisent plus aujourd'hui à faire face à la masse de données générées. Par exemple, les systèmes traditionnels basés sur les requêtes peuvent peiner à répondre rapidement aux demandes de données en constante évolution provenant de différentes sources.
Avec un modèle de diffusion d'événements en continu, les événements sont enregistrés dans un journal plutôt que d'être stockés dans une base de données. Les consommateurs d'événements peuvent lire toute partie du flux et le rejoindre à tout moment.
Le traitement des flux d'événements peut permettre d'identifier des tendances importantes. Cette technique s'appuie sur une plateforme de diffusion de données en continu pour ingérer des événements et des processus, voire transformer le flux d'événements.
Principaux cas d'utilisation des flux de données
Les données de diffusion en continu sont principalement utilisées dans les applications en temps réel. Voici quelques cas d'utilisation courants :
- Les expériences numériques qui reposent sur un accès immédiat aux informations
- Les applications demicroservices qui facilitent le développement agile de logiciels
- Les scénarios de diffusion en continu qui modernisent les applications reposant sur des bases de données, auparavant gérées par traitement en lots
- Les analyses en temps réel, notamment celles qui ingèrent des données issues de différentes sources
- L'edge computing, qui rassemble des données provenant de dispositifs et de systèmes divers et variés
Parmi les principaux cas d'utilisation des flux de données figurent les applications conçues autour des données de messagerie, de géolocalisation, d'opérations boursières, de détection des fraudes, de gestion des stocks, d'analyses marketing, de surveillance des systèmes informatiques, ou encore issues de l'Internet industriel des objets.
Fonctionnement d'Apache Kafka avec les données de diffusion en continu
Apache Kafka est une plateforme Open Source distribuée de messagerie qui s'est démarquée des autres outils pour le traitement des grandes quantités de données de diffusion en temps réel et en continu.
Les développeurs de logiciels utilisent Kafka pour créer des pipelines de données et des applications de diffusion en continu. Avec Kafka, les applications peuvent :
- publier des flux d'enregistrement et y souscrire ;
- stocker des flux d'enregistrement ;
- traiter les enregistrements au fur et à mesure.
Cette plateforme est conçue pour gérer les données de diffusion en continu tout en étant rapide, évolutive horizontalement et résistante aux pannes. Elle permet également de réduire la latence à quelques millisecondes en limitant l'utilisation d'intégrations point à point pour le partage de données dans certaines applications. Les utilisateurs peuvent ainsi accéder aux données plus rapidement, ce qui est primordial lorsqu'elles doivent être disponibles en temps réel, par exemple pour l'exploitation informatique et le commerce en ligne.
La solution Apache Kafka peut traiter des millions de points de données par seconde. Elle est donc parfaitement adaptée pour relever les défis liés au Big Data. Dans de nombreux cas d'utilisation liés au traitement des données, tels que l'Internet des objets et les réseaux sociaux, les données connaissent une augmentation exponentielle et peuvent rapidement submerger une application conçue sur la base du volume de données disponibles à cet instant.
Difficultés liées à la diffusion de données en continu
Par définition, les flux de données doivent transmettre des informations séquencées en temps réel. Les applications de diffusion de données en continu dépendent de flux cohérents et hautement disponibles, même pendant les pics d'activité. Il peut être difficile de fournir ou de consommer un flux de données qui présente ces qualités.
Le volume de données brutes présentes dans un flux peut rapidement augmenter, voire exploser. Prenons par exemple les données générées par les opérations boursières lors de l'effondrement d'un marché, les messages sur les réseaux sociaux à l'occasion d'un événement sportif majeur ou l'activité des journaux pendant la panne d'un système. Les flux de données se doivent d'être évolutifs. Ils doivent assurer en priorité le bon séquençage des données, leur cohérence et leur disponibilité, même pendant les périodes de forte activité. Les flux doivent également être conçus pour résister en cas de panne partielle du système.
Dans un environnement de cloud hybride distribué, les clusters de données de diffusion en continu s'accompagnent d'exigences particulières. Les data brokers de diffusion en continu standard sont de type stateful et doivent être préservés en cas de redémarrage. La mise à l'échelle nécessite une orchestration minutieuse pour s'assurer que les services de messagerie se comportent comme prévu et qu'aucun enregistrement n'est perdu.
Intérêt de l'utilisation d'un service de données de diffusion en continu
La mise en place d'une plateforme complexe de données de diffusion en continu, en temps réel et hautement disponible, peut mobiliser des ressources considérables. Elle nécessite souvent des compétences et du matériel dont le service informatique d'une entreprise ne dispose pas.
Par conséquent, de nombreux utilisateurs de données de diffusion en continu optent pour un service cloud géré, dans le cadre duquel la gestion de l'infrastructure et du système est confiée à un fournisseur de services. Cette solution permet aux entreprises de se concentrer sur leurs compétences stratégiques, plutôt que sur la gestion et l'administration d'une solution complexe de données de diffusion en continu.