DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Uncategorized»Piloté par les événements 2.0 – DZone
    Uncategorized

    Piloté par les événements 2.0 – DZone

    février 4, 2023
    Piloté par les événements 2.0 - DZone
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    La quantité de données à traiter, filtrer, connecter et stocker ne cesse de croître. Les entreprises qui peuvent traiter les données rapidement ont un avantage. Idéalement, cela devrait se produire en temps réel. Des architectures événementielles sont utilisées pour cela.

    De telles architectures permettent d’échanger des messages en temps réel, de les stocker dans une seule base de données et d’utiliser des systèmes distribués pour l’envoi et le traitement des messages.

    Dans cet article, nous expliquerons en quoi l’architecture pilotée par les événements diffère des autres architectures pilotées par les messages populaires. De plus, nous apprendrons les modèles d’architecture événementielle les plus populaires, ainsi que leurs principaux avantages et inconvénients.

    Architecture axée sur les événements ou axée sur les messages

    Un événement est une action qui a eu lieu à un moment donné. Il est généré par le service et n’a pas de destinataires spécifiques. Tout composant système peut être un consommateur d’événements.

    UN message est un paquet fixe de données qui est envoyé d’un service à un autre. Un événement est un type de message qui signale un changement dans l’état du système.

    Dans un architecture événementielle, le composant qui génère l’événement indique aux autres composants où il sera stocké. De cette façon, n’importe quel composant peut enregistrer, traiter et répondre à un événement, et le producteur ne saura pas qui est le consommateur.

    Dans systèmes pilotés par messages, les composants qui créent des messages les envoient à une adresse spécifique. Après avoir envoyé un message, le composant reçoit immédiatement le contrôle et n’attend pas que le message soit traité.

    Dans une architecture pilotée par message, si un message similaire doit être envoyé à plusieurs destinataires, l’expéditeur doit l’envoyer à chaque destinataire séparément. En revanche, dans une architecture pilotée par les événements, un producteur génère un événement une fois et l’envoie à un système de traitement. Après cela, l’événement peut être consommé par n’importe quel nombre d’abonnés se connectant à ce système.

    Modèles pilotés par les événements

    Il existe différentes approches pour mettre en œuvre une architecture pilotée par les événements. Souvent, lors de la conception d’un programme, plusieurs approches sont utilisées ensemble. Dans cette section, nous parlerons des modèles les plus populaires qui vous permettent d’implémenter une architecture événementielle, de leurs avantages et de leurs domaines d’application.

    Plateforme mondiale de streaming d’événements

    Il est vital pour les entreprises d’aujourd’hui de réagir aux événements en temps réel. Les clients s’attendent à ce que l’entreprise réagisse immédiatement à divers événements. Il est donc nécessaire de développer de telles architectures logicielles qui répondront aux exigences commerciales modernes et seront capables de traiter les données en tant que flux d’événements, et pas seulement les données en état de repos.

    Une excellente solution consiste à utiliser une plate-forme mondiale de diffusion d’événements. Il vous permet de traiter les fonctions métier comme des flux d’événements. De plus, cette plate-forme est tolérante aux pannes et évolutive.

    Tous les événements qui se produisent dans le système sont enregistrés une seule fois dans la plateforme de streaming de données. Des systèmes externes lisent ces événements et les traitent en temps réel.

    Les plates-formes de streaming d’événements se composent d’un ensemble diversifié de composants. Leur création nécessite des ressources importantes et une expérience en ingénierie. Un tel modèle est très populaire et est utilisé dans de nombreuses industries.

    Magasin central d’événements

    Le magasin central d’événements assure la publication et le stockage des événements dans une seule base de données. Il s’agit d’un point de terminaison unique pour des événements de différents types. Cela permet aux applications et aux services de répondre aux événements en temps réel sans retard ni perte de données. Les applications peuvent facilement s’abonner à une variété d’événements, réduisant ainsi les coûts de développement.

    Le magasin d’événements central est utilisé à diverses fins :

    • Publication des modifications pour les services aux consommateurs.
    • Reconstruction des états passés et réalisation d’analyses commerciales.
    • Rechercher des événements.
    • Enregistrement de tous les changements de programme sous la forme d’une séquence d’événements.
    • Un point de terminaison unique pour la notification basée sur les changements d’état de l’application.
    • Surveillance de l’état du système.

    À l’aide d’un magasin d’événements central, vous pouvez créer de nouvelles applications et utiliser des événements existants sans avoir à les republier.

    Applications Event-First et Event Streaming

    Le streaming d’événements vous permet de recevoir des données de diverses sources, telles que des applications, des bases de données, divers capteurs, des appareils Internet, etc., de les traiter, de les nettoyer et de les utiliser sans les enregistrer au préalable. Cette méthode de traitement des événements fournit des résultats rapides et est très importante pour les entreprises qui transfèrent de grandes quantités de données et ont besoin de recevoir des informations rapidement.

    Principaux avantages des plateformes de streaming d’événements :

    • Améliorer l’expérience client : Les clients peuvent instantanément être informés des changements dans l’état de leurs commandes, ce qui améliore leur expérience et, par conséquent, augmente les revenus de l’entreprise.
    • Réduction de risque: Les systèmes qui utilisent des événements en continu permettent de détecter une fraude sur Internet, peuvent arrêter une transaction suspecte ou bloquer une carte.
    • Fiabilité: Les plates-formes de streaming d’événements permettent des systèmes robustes capables de gérer efficacement les pannes d’abonnés.
    • Rétroaction en temps réel : Les utilisateurs peuvent voir les résultats de leurs opérations immédiatement après leur exécution, sans attendre une minute.

    Les systèmes de streaming d’événements nécessitent moins d’infrastructure et de données à prendre en charge, ils sont donc simples et rapides à construire.

    Les applications qui utilisent ce modèle d’architecture sont utilisées dans diverses industries, telles que le commerce financier, la détection des risques et des fraudes dans les systèmes financiers, l’Internet des objets, la vente au détail, etc.

    CQRS

    Command Query Responsibility Segregation (CQRS) est le principe de séparation des structures de données pour la lecture et l’écriture d’informations. Il est utilisé pour augmenter les performances, la sécurité et l’évolutivité du logiciel.

    L’application de CQRS est très utile dans des domaines complexes où un seul modèle de lecture et d’écriture de données est trop complexe. Lorsqu’il est séparé, il est grandement simplifié. Ceci est particulièrement visible lorsque le nombre d’opérations de lecture et d’écriture est significativement différent.

    Différentes bases de données peuvent être utilisées pour lire et stocker des données. Dans ce cas, ils doivent être synchronisés. Pour ce faire, le modèle d’enregistrement doit publier un événement à chaque fois qu’il met à jour la base de données.

    Avantages du CQRS :

    • Mise à l’échelle indépendante des charges de travail de lecture et d’écriture.
    • Schémas de données optimisés séparés pour la lecture et l’écriture.
    • L’utilisation de modèles plus souples et pratiques grâce à la séparation des préoccupations.
    • Possibilité d’éviter les requêtes complexes en stockant la vue matérialisée dans la base de données de lecture.

    Le modèle CQRS est utile pour les scénarios suivants :

    • Dans les systèmes où de nombreux utilisateurs accèdent simultanément aux mêmes données.
    • Lorsque les performances de lecture des données doivent être configurées séparément des performances d’écriture des données. Ceci est particulièrement important lorsque le nombre de lectures dépasse largement le nombre d’écritures.
    • Lorsque les modèles de lecture et d’écriture sont créés par différentes équipes de développement.
    • Avec des changements fréquents dans les règles commerciales.

    Dans les cas où la logique du système et l’interface utilisateur sont assez simples, ce modèle n’est pas recommandé.

    Recherche d’événements

    Une source d’événements stocke l’état du système sous la forme d’une séquence d’événements. Chaque fois que l’état du système change, un nouvel événement est ajouté à la liste des événements. Cependant, cet état du système peut être restauré par le retraitement des événements à l’avenir. Tous les événements sont stockés dans le magasin d’événements, qui est une base de données d’événements.

    Un bon exemple d’une telle architecture est un système de contrôle de version. Son magasin d’événements est un journal de tous les commits, et une copie de travail de l’arborescence source est l’état du système.

    Les principaux avantages de la recherche d’événements :

    • Les événements peuvent être publiés chaque fois que l’état du système change.
    • Garantir un journal d’audit des modifications fiable.
    • La capacité de déterminer l’état du système à tout moment.
    • La possibilité de passer facilement d’une application monolithique à une architecture de microservices grâce à l’utilisation d’objets faiblement couplés qui échangent des événements.

    Cependant, pour reconstituer l’état des objets métier, vous devez envoyer des requêtes standard, ce qui est difficile et inefficace. Par conséquent, le système doit utiliser la distribution de responsabilité de demande de commande (CQRS) pour implémenter les demandes. Cela signifie que les applications doivent traiter les données finales convenues.

    Approvisionnement automatisé des données

    Ce modèle fournit un approvisionnement de données entièrement en libre-service. L’utilisateur doit déterminer quelles données et dans quel format il a besoin, ainsi que l’endroit où elles doivent être stockées. Par exemple, dans une base de données, un cache distribué, un microservice, etc. Le référentiel sélectionné peut être utilisé avec le référentiel central.

    Le système fournit au client une infrastructure ainsi que des données préchargées et gère le flux des événements. Le processeur traite et filtre les flux de données en fonction des besoins de l’utilisateur. L’utilisation d’une infrastructure cloud rend un tel système plus rapide et plus pratique.

    Les systèmes qui utilisent le provisionnement automatisé des données sont utilisés dans la finance, la vente au détail et Internet, à la fois sur site et dans le cloud.

    Avantages et inconvénients de l’architecture événementielle

    Même si l’architecture pilotée par les événements est assez populaire maintenant, se développe rapidement et aide à résoudre de nombreux problèmes commerciaux, l’utilisation de cette approche présente également certains inconvénients. Dans cette section, nous énumérons les principaux avantages et inconvénients de l’architecture événementielle.

    Avantages

    • Autonomie: Le couplage lâche des composants qui utilisent cette architecture permet aux producteurs et aux consommateurs d’événements de fonctionner indépendamment les uns des autres. Cette connexion vous permet d’utiliser différents langages de programmation et technologies pour développer différents composants. De plus, les producteurs et les consommateurs peuvent être ajoutés et supprimés du système sans affecter les autres participants.
    • Tolérance aux pannes : Les événements sont publiés immédiatement après qu’ils se produisent. Divers services et programmes s’abonnent à ces événements. Si le consommateur s’arrête, les événements continuent d’être publiés et mis en file d’attente. Lorsque le consommateur se reconnectera, il pourra gérer ces événements.
    • Interaction utilisateur en temps réel pour une meilleure expérience utilisateur.
    • Économie: Le consommateur reçoit le message immédiatement après que le producteur l’a publié, éliminant ainsi la nécessité d’une interrogation constante pour vérifier l’événement. Cela réduit la consommation du processeur et l’utilisation de la bande passante du réseau.

    Désavantages

    • La gestion des erreurs est difficile….
    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.