Accueil

Thèmes

Transmission d’événements en continu

Qu’est-ce que la transmission d’événements en continu ?
Découvrir la solution de transmission d’événements en continu d’IBM S’inscrire pour recevoir les dernières informations sur l’IA
Illustration d’un collage de pictogrammes représentant une roue dentée, un bras robotisé, un téléphone mobile

 

Publication : 30 avril 2024
Contributeurs : Chrystal R. China, Michael Goodwin

Qu’est-ce que la transmission d’événements en continu ?

La transmission d'événements en continu consiste à capturer des données en temps réel à partir d'applications, de bases de données et de dispositifs IdO, puis à les transmettre vers diverses destinations pour un traitement et un stockage immédiats, ou pour une analyse en temps réel et des rapports d'analyse.

Fonction clé du traitement de flux d'événements (ESP), la transmission d'événements en continu permet aux infrastructures IT de gérer des flux d'événements volumineux et continus en traitant les données au moment où l'événement ou le changement se produit.

La transmission d'événements en continu est souvent complémentaire au traitement par lots, qui s'applique à de grands ensembles de données statiques (ou "données au repos"). Cependant, au lieu de traiter les données par lots, la transmission d'événements en continu traite les points de données individuels au fur et à mesure qu'ils apparaissent afin que les logiciels au sein de l'architecture puissent interpréter et répondre aux flux de données (« données en mouvement ») en temps réel.

Les services de transmission d'événements en continu haute performance peuvent prendre en charge une variété de tâches, simples ou complexes, allant de l'envoi de notifications en cas de changement de prix des actions ou des produits à la construction de modèles de machine learning en temps réel capables de détecter les activités suspectes des utilisateurs. Même dans le cas du traitement par lots, la transmission d'événements en continu peut enrichir l'analyse des données en associant les événements à leurs horodatages respectifs et en identifiant les tendances historiques.

Réserver une démo en direct

Découvrez comment IBM Event Automation peut vous aider à tirer parti des événements en permettant aux utilisateurs professionnels et informatiques d'identifier les situations critiques, d'intervenir en temps réel, d'automatiser les décisions et de maximiser le potentiel de revenus.

Contenu connexe Abonnez-vous à la newsletter IBM
Qu'est-ce qu'un événement ?

La transmission d’ événements en continu s’articule autour du flux sans limite, séquentiel et en temps réel d’enregistrements de données, appelés « événements », des structures de données fondamentales qui enregistrent toute occurrence dans le système ou l’environnement. Il s’agit d’un terme qui fait référence essentiellement à chaque point de données du système. Par conséquent, un « flux » ((également appelé flux de données ou données en streaming) est la distribution continue de ces événements.

Chaque événement comprend généralement une clé qui identifie l'événement ou l'entité à laquelle il se rapporte, une valeur qui contient les données réelles de l'événement, un horodatage qui indique le moment où l'événement s'est produit ou a été enregistré, et parfois des métadonnées sur la source de données, la version du schéma ou un autre attribut.

Des moteurs de traitement de flux spécialisés permettent de soumettre les événements à différents processus au sein d'un flux. Les « agrégations » effectuent des calculs sur les données, comme les moyennes, les sommes et l'écart type. L'ingestion consiste à ajouter des données en flux aux bases de données. Le traitement analytique identifie des tendances dans les données en flux pour prédire les événements futurs, et le traitement d'enrichissement associe les points de données à d'autres sources de données pour fournir du contexte et créer du sens.

Les événements sont souvent liés aux opérations métier ou aux parcours utilisateurs et déclenchent généralement une autre action, un autre processus ou une série d'événements. Prenons l’exemple de la banque en ligne.

Lorsqu’un utilisateur clique sur « transférer » pour envoyer de l'argent d'un compte bancaire à un autre, le transfert de fonds est effectué, des notifications par e-mail ou SMS sont envoyées à l'expéditeur et au destinataire, et si nécessaire, des protocoles de sécurité et de prévention des fraudes sont déployés.

Composants clés de la transmission d’événements en continu

Les événements sont naturellement le composant central de la transmission d'événements en continu ; cependant, une série d'autres composants permettent aux services de streaming de traiter les événements de manière rapide et efficace. D'autres composants essentiels comprennent :

Brokers

Les brokers, ou brokers de messages, sont les serveurs qui exécutent les plateformes de transmission d’événements en continu. Les brokers de messages permettent aux applications, systèmes et services d'interagir et d'échanger des informations en convertissant les messages entre des protocoles de messagerie standardisés. Ceci permet à des services interdépendants de « parler » directement entre eux (Java ou Python, par exemple), même s’ils ont été écrits dans différents languages ou déployés sur différentes plateformes. Cela facilite également le découplage des processus et des services au sein des systèmes.

Les brokers peuvent valider, stocker, acheminer et transmettre des messages vers les destinations appropriées. Dans les systèmes de transmission d'événements distribués, les brokers permettent d'assurer une faible latence et une haute disponibilité en répliquant les événements sur plusieurs nœuds. Les brokers peuvent aussi être regroupés en clusters, des ensembles de brokers travaillant ensemble pour faciliter l'équilibrage de charge et l'évolutivité.

Thèmes

Les sujets sont des catégories ou des noms de flux auxquels les événements sont rattachés, offrant un moyen d'organiser et de filtrer les événements au sein de la plateforme. Ils agissent comme « objet » pour les événements, ce qui permet aux consommateurs de s’abonner à des sujets et de ne recevoir que des événements pertinents.

Partitions

Les sujets peuvent être divisés en partitions, ce qui permet à plusieurs consommateurs de lire simultanément à partir d'un sujet sans perturber l'ordre de chaque partition.

Décalages

Un décalage est un identifiant unique qui identifie chaque événement au sein d'une partition, indiquant sa position dans la séquence. Les consommateurs utilisent les décalages pour organiser les événements qu'ils ont traités. Si, par exemple, un consommateur se déconnecte d'un événement et se reconnecte par la suite, il peut reprendre le traitement à partir du dernier décalage connu.

Comment fonctionne la transmission d'événements en continu ?

Compte tenu de la prolifération des données et de l'explosion du trafic de données qui en résulte, la transmission d'événements en continu est un composant essentiel des architectures de données modernes, en particulier dans les environnements qui nécessitent des capacités de prise de décision extrêmement rapides ou dans les organisations qui cherchent à automatiser les responsabilités de prise de décision.

Voici comment les services de transmission d’événements en continu gèrent les données d'événements :

  1. Génération d’événements. La transmission d’événements en continu débute lorsque les producteurs (microservices, systèmes de backend, écosystèmes IdO ou API pilotées par événements, par exemple) envoient des événements à la plateforme de transmission d’événements en continu.

  2. Publication d’événements. À l'aide de bibliothèques clientes, les producteurs publient l'événement sur un sujet spécifique au sein de la plateforme, et à partir de ce moment, il devient disponible pour les consommateurs (les applications et les services qui s'abonnent au sujet).   

  3. Stockage d’événements. La plateforme conserve les événements pendant une durée prédéfinie ou jusqu'à ce qu'ils soient consommés. Les brokers gèrent les opérations de stockage et de récupération des événements.

  4. Consommation d’événement. Les consommateurs traitent les données d'événement pour initier d'autres événements. En fonction de leur objectif ou de leur configuration, les consommateurs peuvent traiter les événements immédiatement à leur arrivée (traitement en temps réel), les stocker pour un traitement ultérieur ou les compiler pour un traitement par lots. Les consommateurs utilisent également des décalages pour suivre leur progression dans le pipeline de données, ce qui leur permet de reprendre le traitement à partir de l'endroit où ils se sont arrêtés, en cas de panne ou de redémarrage.

  5. Distribution d’événements. Le broker d'événements distribue les événements à tous les consommateurs abonnés. La sémantique de distribution peut inclure une livraison « au moins une fois » (où les événements sont garantis d’être livrés mais peuvent être dupliqués), une livraison « exactement une fois » (où chaque événement est livré une fois et une seule fois) ou un autre type de sémantique.

  6. Traitement d'événement. Une fois l’événement initial consommé et distribué, les données d’événement sont traitées pour plusieurs actions en aval, notamment la transformation des données, leur agrégation et le déclenchement de workflows complexes de traitement des événements (CEP).
Fonctionnalités de transmission d’événements en continu

Outre le streaming et le traitement standard, les plateformes de transmission d’événements en continu (comme Amazon Kinesis, Google Pub/Sub, Azure Event Hubs et IBM Event Automation, qui utilisent la puissance de traitement de la plateforme open source Apache Kafka) facilitent une série de pratiques de streaming qui améliorent les fonctionnalités.

Traitement en une seule fois

La sémantique de livraison exactement une fois garantit que chaque événement dans un flux est traité exactement une fois, une fonctionnalité essentielle pour éviter les événements dupliqués et les pertes de flux. La plupart des systèmes de transmission d’événements en continu incluent des mécanismes permettant de fournir une sémantique unique, indépendamment des défaillances ailleurs dans le système.

Contre-pression

Lorsque les composants en aval ne parviennent pas à suivre le rythme des événements entrants, la contre-pression empêche les flux de saturer le système. Avec la contre-pression, un mécanisme de contrôle du flux de données, les consommateurs peuvent signaler aux producteurs de réduire ou d'arrêter la production de données lorsqu'ils sont surchargés par le traitement des données ou ne peuvent pas suivre le rythme des événements entrants.

Ce processus permet aux systèmes de gérer les workloads en mettant en mémoire tampon ou en supprimant les événements entrants, au lieu de perturber l’ensemble du système, de sorte que le traitement des événements reste stable à mesure que les workloads fluctuent.

Groupes de consommateurs

Les consommateurs d’événements travaillent souvent au sein d’un groupe de consommateurs pour accélérer la consommation d’événements. Chaque consommateur d’un groupe de consommateurs se voit attribuer un sous-ensemble de partitions à traiter, en parallélisant la consommation pour une plus grande efficacité. En cas d'échec, d'ajout ou de suppression d'un consommateur au sein du groupe, la plateforme peut réaffecter dynamiquement les partitions pour maintenir l'équilibre et la tolérance aux pannes.

Filigrane

La transmission d’événements en continu implique souvent un traitement des données urgent. Le filigrane permet le suivi de progression (en utilisant l'horodatage de l'événement) dans les systèmes de traitement de flux ; il impose un seuil d'exhaustivité qui indique quand le système peut considérer les données d'événement comme entièrement traitées. Le filigrane peut également être utile pour garantir la précision du traitement basé sur le temps et pour rapprocher les événements anormaux.

Conservation et compactage des données

La plupart des plateformes de transmission d'événements en continu offrent des politiques de rétention de données flexibles qui permettent aux développeurs de déterminer la durée de disponibilité des événements pour consommation. Le compactage des données, toutefois, consiste à éliminer les données redondantes ou obsolètes des sujets, optimisant ainsi l'utilisation de l'espace de stockage tout en garantissant la conservation des données cruciales.

Il est important de rappeler que les architectures de streaming standard découplent généralement les producteurs d'événements, les brokers d'événements et les consommateurs, ce qui permet de mettre à l'échelle et de maintenir indépendamment les différents composants.  

Cas d'utilisation de la transmission d’événements en continu

La transmission d'événements en continu est un concept puissant qui permet aux organisations d'utiliser les données dès leur génération, créant ainsi des systèmes plus réactifs et intelligents. Avec l'essor de la prise de décision fondée sur les données, la transmission d'événements en continu est un composant de plus en plus important dans les architectures logicielles modernes.

Par conséquent, les technologies de transmission d'événements en continu sont utilisées dans différents secteurs d'activité, notamment :

Services bancaires et financiers

Les institutions financières peuvent utiliser des services de transmission d'événements en continu pour traiter les données de marché en temps réel, ce qui permet aux systèmes de trading algorithmique de prendre des décisions rapides et éclairées en fonction des conditions de marché les plus récentes. Les capacités de surveillance en temps réel de la transmission d'événements en continu aident également les institutions à détecter et à gérer rapidement les risques de fraude et de sécurité.

Fabrication

La transmission d'événements en continu peut contribuer à l'optimisation de la chaîne d'approvisionnement en permettant aux fabricants de suivre les matériaux et les produits à mesure qu'ils se déplacent dans la chaîne d'approvisionnement, afin d'identifier les goulots d'étranglement et les inefficacités des processus. De plus, en diffusant les données des capteurs IdO/IIoT sur les machines, les gestionnaires peuvent prédire quand et pourquoi l’équipement pourrait tomber en panne et effectuer une maintenance préventive ou une maintenance prédictive pour éviter les temps d’arrêt imprévus.

Jeux et divertissement

Les plateformes de jeux en ligne peuvent utiliser des services de transmission d'événements en continu pour suivre les actions des joueurs et les changements d'état des jeux, ce qui permet d'analyser les jeux, d'appliquer des politiques anti-triche et d'augmenter l'engagement des joueurs. Les plateformes de streaming peuvent tirer parti des données d'événements pour fournir des recommandations de contenu personnalisées aux utilisateurs et créer une expérience client adaptée.

Transport et logistique

La transmission d'événements en continu peut être utilisée pour suivre la localisation et l'état des véhicules, ce qui permet d'effectuer un routage en temps réel basé sur les conditions de circulation, les horaires de livraison et les performances des véhicules. Les entreprises de logistique peuvent utiliser les données d'événements provenant des dispositifs de numérisation et des trackers GPS pour fournir aux clients des mises à jour en temps réel sur le statut de leurs livraisons de e-commerce.

Utilisation dans les architectures pilotées par les événements et autres modèles

Au-delà des secteurs d'activité spécifiques, la transmission d'événements en continu peut également être bénéfique lorsqu'elle est déployée en association avec d'autres technologies et architectures. Par exemple, la transmission d'événements en continu est parfois associée à des modèles tels que l'approvisionnement en événements et la séparation des responsabilités de commande et de requête (CQRS).

L'approvisionnement en événements est un modèle architectural dans lequel les modifications de l'état de l'application sont enregistrées sous forme de séquence d'événements. Utilisé en association avec les flux d'événements, l'approvisionnement en événements permet au système de streaming de rejouer ces événements pour reconstruire l'état d'une entité à n'importe quel moment dans le temps ou pour piloter d'autres composants du système.

Dans un modèle architectural CQRS, le système est composé de deux modèles distincts : l'un qui gère les commandes (écriture) et l'autre qui gère les requêtes (lecture). Dans le modèle CQRS, la transmission d'événements en continu permet de propager les modifications du modèle d'écriture vers le modèle de lecture en temps réel, facilitant ainsi une intégration asynchrone entre les deux.

La transmission d’événements en continu est également une technologie essentielle à la construction d’architectures orientées événements.

Une architecture pilotée par les événements permet à des composants faiblement couplés de communiquer via des événements, mais au lieu de publier des flux d'événements vers un broker, elle publie un événement à usage unique qu'une autre application ou un autre service peut utiliser pour déclencher des actions en retour. Les capacités de traitement en flux des architectures pilotées par les événements, associées aux capacités de transmission d'événements en continu, peuvent permettre aux entreprises de réagir aux données en mouvement et de prendre des décisions rapides en s'appuyant sur toutes les données actuelles et historiques.

Ces dernières années, les fournisseurs de cloud (dont IBM Cloud) ont commencé à proposer les principes de la transmission d’événements en continu en tant que services. La transmission d’événements en continu en tant que service permet aux entreprises d'adopter plus facilement la transmission d'événements en continu sans avoir à gérer l'infrastructure sous-jacente dans son intégralité, ce qui élargit encore le champ d'application de la transmission d'événements en continu.

Produits associés
IBM Event Automation

Entièrement modulable, IBM Event Automation permet aux entreprises d’accélérer leurs initiatives orientées événements, à tout moment. Ses capacités de gestion et de traitement des flux, des points de terminaison et des événements constituent le fondement idéal d’une architecture orientée événements qui libère toute la valeur de ces derniers.

Découvrir IBM Event Automation

IBM Cloud Pak for Integration

IBM Cloud Pak for Integration utilise la plateforme open source de transmission d’événements en continu Apache Kafka d’ IBM Event Streams pour vous aider à créer des applications intelligentes capables de réagir aux événements au moment où ils se produisent.
Gérez les charges de travail stratégiques grâce à une connectivité système améliorée, à un déploiement et à des opérations riches, et à une expertise en architecture orientée événements.

Découvrir IBM Cloud Pak for Integration
Agir sur les événements avec IBM App Connect

Orchestrez les actions de suivi pour réagir immédiatement aux nouveaux événements. IBM App Connect prend en charge les architectures orientées événements et peut tirer parti des mécanismes d’interrogation pour fonctionner avec celles qui ne le sont pas. Configurez les flux pour automatiser les tâches et appliquer une logique conditionnelle afin de rationaliser les décisions et de répondre aux besoins changeants des clients.

Explorer IBM APP Connect

Ressources Architecture orientée événements et transmission d’événements en continu

Quelle est la différence entre les deux, comment peuvent-elles vous aider et laquelle est la bonne option pour votre entreprise ?

Apache Kafka et Apache Flink : une combinaison open source parfaite

Le traitement en flux est la pierre angulaire des données en temps réel. Grâce à cette solution, votre entreprise peut traiter les flux de données en temps réel, ce qui vous permet d'analyser les données rapidement et de réagir aux changements de manière proactive.

Profiter des avantages d'une architecture orientée événements

En adoptant une stratégie plus événementielle, les organisations peuvent renforcer leur avantage concurrentiel et améliorer leurs résultats financiers.

Découvrez comment la spécification AsyncAPI peut décrire et documenter les topics Kafka.

IA en temps réel et traitement des événements

En exploitant l'IA pour le traitement des événements en temps réel, les entreprises peuvent faire le lien entre des événements disparates afin de détecter les nouvelles tendances, menaces et opportunités, et d'y répondre.

Qu’est-ce que la gestion des données ?

La gestion des données peut être définie comme la pratique consistant à ingérer, traiter, sécuriser et stocker les données d’une organisation, qui sont ensuite utilisées pour prendre des décisions stratégiques afin d’améliorer les résultats de l’entreprise.

Passez à l’étape suivante

Entièrement modulable, IBM Event Automation permet aux entreprises d’accélérer leurs initiatives orientées événements, à tout moment. Il offre des capacités de distribution, de découverte et de traitement des événements dans une interface intuitive, permettant aux utilisateurs métier et informatiques de mettre les événements en action et de réagir en temps réel.

Découvrir Event Automation Réserver une démo en direct