La configuration des abonnés aux événements repose sur du code et des paramètres qui déterminent leur comportement d'écoute et de réaction aux événements. La configuration varie en fonction de la pile technologique, de la structure ou du système de messagerie utilisé(e). Les événements configurés dans Drupal, Symfony ou Microsoft Dynamics 365 Business Central utiliseront différents types d'objets et de paramètres pour interroger les événements et valider les données associées.
Diagramme illustrant le fonctionnement des notifications des abonnés aux événements.
Dans une architecture basée sur les événements (EDA), un abonné aux événements est une application, un service, un appareil ou une personne qui choisit de recevoir des informations sur un événement ou une classe d'événements spécifique. Les abonnés aux événements, également appelés « utilisateurs d'événements », reçoivent des informations sur les événements en « écoutant » et en interrogeant en permanence les modifications liées à certains sujets, certaines zones ou certains messages d'un événement. Lorsqu'un abonné aux événements reçoit des informations sur un événement, il peut traiter les informations et y répondre de différentes manières, notamment en mettant à jour une base de données, en envoyant un e-mail, en ajoutant un objet à un compartiment de stockage ou en demandant un flux de travail.
Qu'est-ce que l'architecture basée sur les événements ?
Une architecture basée sur les événements (EDA) est un modèle de conception logicielle qui permet aux systèmes de détecter, traiter, orchestrer et réagir aux événements en temps réel lorsqu'ils se produisent. Un événement se réfère à un changement au niveau de l'état d'un système ou d'un processus métier particulier. Dans une architecture basée sur les événements, les abonnés aux événements peuvent en apprendre davantage sur un événement dès son apparition, ce qui permet aux applications, aux systèmes, aux personnes et aux organisations de réagir en temps réel. Cette architecture utilise souvent des espaces de noms pour organiser les classes d'événements et les méthodes des abonnés aux événements, ce qui garantit une base de code claire et facile à gérer.
Qu'est-ce qu'un événement ?
Un événement désigne quelque chose qui se produit. Il s'agit d'un changement d'état. Cela comprend, par exemple, un achat effectué par un client, une demande d'informations, la mise à jour des stocks, des relevés de capteurs pouvant indiquer une violation de sécurité, un article retiré d'un panier, la création d'un nouveau compte utilisateur ou une notification lorsque les cours des actions atteignent un certain seuil.
Comment fonctionne un abonné aux événements dans une architecture basée sur les événements ?
L'architecture basée sur les événements comprend plusieurs composants matériels et logiciels connectés et organisés pour permettre la communication en temps réel des événements.
Les éditeurs d'événements, également appelés producteurs d'événements, sont des systèmes qui détectent ou génèrent un événement, puis transmettent ces informations sur un canal ou un bus d'événements. Les éditeurs d'événements sont conçus pour reconnaître les changements d'état. Ils peuvent prendre la forme de systèmes tels que des bases de données qui publient des événements lors de modifications des données, des microservices qui indiquent l'achèvement des actions, des terminaux IoT (Internet des objets) qui signalent les actions ou les changements de conditions, et des systèmes CRM qui envoient des notifications lorsqu'une commande est finalisée ou qu'un nouvel utilisateur s'inscrit.
Les bus d'événements, également appelés canaux d'événements ou courtiers d'événements, servent de points de passage pour l'échange d'informations liées aux événements. Les bus d'événements captent les données en temps réel des éditeurs d'événements et mettent les informations à la disposition des abonnés qui écoutent des événements spécifiques. Les bus d'événements, flux d'événements ou files de messages incluent des plateformes comme Apache Kafka, Amazon Kinesis et Google Pub/Sub.
Les abonnés aux événements, également connus sous le nom écouteurs d'événements ou consommateurs d'événements, désignent les applications, services, appareils ou personnes qui reçoivent des informations sur des événements. Différentes classes d'abonnés sont prévues pour recevoir des informations sur des événements ou des classes d'événements spécifiques. Les abonnés aux événements sont généralement configurés pour recevoir les données d'événements dès qu'elles sont disponibles.
Quels sont les avantages des abonnés aux événements pour les entreprises ?
Les événements ont un impact sur tous les aspects d'une entreprise, ainsi que sur ses processus et opérations. Lorsque les entreprises et leurs employés, applications et systèmes réagissent plus rapidement aux événements, la productivité, l'efficacité et la compétitivité s'améliorent. En configurant les abonnés aux événements pour recevoir des informations sur un large éventail d'événements stratégiques, les entreprises peuvent optimiser leur activité et leur réussite.
Comment les abonnés aux événements captent-ils et traitent-ils les événements ?
Les abonnés aux événements reçoivent, traitent et répondent aux événements de différentes manières.
- Notification directe : dans certains cas, les éditeurs d'événements envoient ou transmettent des événements directement aux abonnés sans avoir recours à un bus ou à un courtier d'événements.
- Modèle par interrogation : les abonnés peuvent également choisir de vérifier ou d'extraire périodiquement de nouveaux événements à partir d'une file d'attente qui les intéresse, ce qui permet le traitement par lots et l'équilibrage de la charge. Cependant, ce modèle peut entraîner des retards dans le traitement des événements.
- Pub/sub : dans une infrastructure de type « publish/subscribe » (publication/abonnement), les messages sont envoyés aux consommateurs d'événements qui se sont abonnés à des canaux spécifiques via un courtier de messages. Les courtiers reçoivent les messages d'événement, les traduisent si nécessaire, les organisent, les transmettent aux abonnés pour traitement, puis les suppriment. Dans ce modèle, les événements ne peuvent pas être réémis, ce qui empêche les abonnés aux événements d'y accéder rétroactivement.
- Streaming d'événements : avec une approche basée sur le streaming d'événements, les événements sont consignés dans un journal et tous les abonnés peuvent accéder aux événements de n'importe quelle partie du flux, y compris aux événements passés. Le streaming d'événements est généralement géré par une plateforme de streaming capable de gérer la journalisation et la transmission d'énormes volumes d'événements à un débit très élevé, souvent jusqu'à plusieurs milliers de milliards d'événements par jour. Les plateformes de streaming permettent la persistance des événements, c'est-à-dire que les enregistrements sont conservés pendant une durée déterminée. Les plateformes de streaming gèrent également le traitement des événements complexes, au cours duquel les abonnés consomment et analysent une série d'événements afin d'identifier des tendances ou des conditions spécifiques.
Quel type d'événements les abonnés aux événements consomment-ils ?
Un abonné aux événements peut consommer une grande variété d'événements, qu'ils soient très simples ou très complexes. Cela peut comprendre les éléments suivants :
- Transactions commerciales : ces événements sont liés à des processus métier tels que l'inscription d'un client en ligne, la commande, le paiement ou la modification du statut d'une commande.
- Actions des utilisateurs : ces actions sont générées par les utilisateurs depuis une application ou un système, et comprennent les clics, la soumission de formulaires, les activités de connexion/déconnexion ou la navigation sur des pages.
- Notifications : certains événements sont émis pour notifier d'autres parties du système ou des systèmes externes. Il peut s'agir d'actions telles que l'envoi d'un e-mail, le déclenchement d'alertes ou la génération de rapports.
- Événements système : ces événements se produisent au sein du système et sont déclenchés par des éléments tels que l'achèvement d'un processus, la mise à jour de données, les erreurs système ou le lancement de tâches planifiées.
- Données de capteur : dans les applications IoT, les événements peuvent être générés par des données de capteur liées, entre autres, aux changements de température, à la détection de mouvement ou à la mise à jour de la localisation.
- Flux de données : ces événements proviennent de mises à jour de données, telles que les modifications apportées à une base de données, les nouvelles entrées d'un journal ou les mises à jour de sources de données externes telles que les API ou les flux.
- Traitement de flux : le traitement des flux de données en temps réel peut générer des événements liés à la surveillance des cours des actions, à l'analyse des publications sur les réseaux sociaux ou au suivi des analyses en temps réel.
- Changements d'état : certains événements sont générés lors des changements d'état des objets ou des entités au sein du système (par exemple, une commande qui passe de l'état « En attente » à « Expédiée » ou la mise à jour du statut d'un ticket dans un système de suivi).
- Événements liés au cycle de vie : ces événements concernent le cycle de vie des composants du système, tels que le démarrage ou l'arrêt des services, le déploiement de nouvelles versions ou les contrôles d'intégrité.
- Événements d'intégration : les interactions entre différents systèmes ou services peuvent générer des événements, ensuite utilisés pour synchroniser des données ou déclencher des actions au-delà des limites du système.
Foire aux questions (FAQ)
Ces termes sont souvent utilisés indifféremment lorsqu'il est question d'une architecture basée sur les événements, même s'il existe certaines nuances. En général, « consommateur d'événements » est un terme plus large qui fait référence à tout composant, système ou service qui consomme et traite des événements. Le terme « abonné aux événements » est plus couramment utilisé pour désigner des systèmes d'échange de messages et de courtiers d'événements, tandis que le terme « écouteur d'événements » est plus souvent utilisé dans le contexte de la programmation et du développement logiciel où les rappels sont enregistrés.
Les noms d'événements sont des identifiants utilisés dans les systèmes basés sur les événements pour classer et déclencher des actions ou des réponses spécifiques lorsqu'un événement se produit. Ils jouent un rôle crucial dans l'architecture basée sur les événements, car ils permettent aux éditeurs d'événements d'étiqueter les événements afin que les abonnés ou les écouteurs d'événements puissent les comprendre et y réagir de manière appropriée.
Pourquoi les clients choisissent-ils Akamai ?
Akamai est l'entreprise de cybersécurité et de Cloud Computing qui soutient et protège l'activité en ligne. Nos solutions de sécurité leaders du marché, nos informations avancées sur les menaces et notre équipe opérationnelle internationale assurent une défense en profondeur pour protéger les données et les applications des entreprises du monde entier. Les solutions de Cloud Computing complètes d'Akamai offrent des performances de pointe à un coût abordable sur la plateforme la plus distribuée au monde. Les grandes entreprises du monde entier font confiance à Akamai pour bénéficier de la fiabilité, de l'évolutivité et de l'expertise de pointe nécessaires pour développer leur activité en toute sécurité.