Streaming d’évĂ©nements et sourcing d’évĂ©nements : les principales diffĂ©rences

Streaming d'événements et sourcing d'événements : les principales différences - thenewstack.io

😍 2022-09-01 15:43:30 – Paris/France.

Les clients aiment ĂȘtre au courant des Ă©vĂ©nements lorsqu’ils se produisent. Lorsqu’un client commande une nouvelle paire de chaussures et reçoit une notification indiquant que l’achat a Ă©tĂ© expĂ©diĂ©, obtenir des mises Ă  jour de l’état d’expĂ©dition Ă  la minute avant son arrivĂ©e amĂ©liore l’expĂ©rience client globale.

David Diéruf

David est le défenseur des développeurs de Streaming chez DataStax. Au cours de sa carriÚre, il a travaillé sur les ventes aux entreprises, la défense des développeurs et le support open source. Il est pÚre et mari entouré de chevaux et de bourbon à Louisville, Kentucky.

Les mises Ă  jour concernant la commande sont des Ă©vĂ©nements qui dĂ©clenchent une rĂ©ponse dans une architecture Ă©vĂ©nementielle (EDA). Un EDA est une conception logicielle qui rĂ©agit aux changements d’état (Ă©vĂ©nements) et transmet ces Ă©vĂ©nements Ă  l’aide d’une architecture dĂ©couplĂ©e.

Cette architecture dĂ©couplĂ©e peut utiliser plusieurs modĂšles de conception comme le modĂšle de publication-abonnement (pub-sub), oĂč un producteur publie un Ă©vĂ©nement et un abonnĂ© surveille les Ă©vĂ©nements, mais aucun ne dĂ©pend de l’autre.

Le Streaming d’évĂ©nements et l’approvisionnement en Ă©vĂ©nements reprĂ©sentent deux façons pour les organisations d’alimenter leurs EDA.

Avec le Streaming d’évĂ©nements, un flux continu de donnĂ©es circule entre les systĂšmes, les donnĂ©es reprĂ©sentant un nouvel Ă©tat d’évĂ©nements diffusĂ©s Ă  l’aide du modĂšle pub-sub. Le sourcing d’évĂ©nements, d’autre part, stocke chaque nouvel Ă©vĂ©nement dans un journal d’ajout. Cela sert de source de vĂ©ritĂ© contenant un ordre chronologique des Ă©vĂ©nements et des contextes.

L’approvisionnement en Ă©vĂ©nements et le Streaming d’évĂ©nements sont souvent utilisĂ©s cĂŽte Ă  cĂŽte dans les EDA, mais il est important de distinguer les deux car ils fonctionnent trĂšs diffĂ©remment. Alors que les flux d’évĂ©nements favorisent une communication plus accessible entre les systĂšmes, l’approvisionnement en Ă©vĂ©nements fournit l’historique des Ă©vĂ©nements en stockant les nouveaux Ă©vĂ©nements dans un journal en ajout uniquement.

Ici, nous discuterons des deux mĂ©thodes de coordination d’évĂ©nements et fournirons quelques cas d’utilisation pour chacune.

Streaming d’évĂ©nements : dĂ©couplez vos services

Le Streaming d’évĂ©nements utilise l’approche pub-sub pour permettre une communication plus accessible entre les systĂšmes. Dans le modĂšle architectural pub-sub, les consommateurs s’abonnent Ă  un sujet ou Ă  un Ă©vĂ©nement, et les producteurs publient sur ces sujets pour la consommation des consommateurs. La conception pub-sub dissocie les systĂšmes de l’éditeur et de l’abonnĂ©, ce qui facilite la mise Ă  l’échelle de chaque systĂšme individuellement.

Les systĂšmes de l’éditeur et de l’abonnĂ© communiquent via un courtier de messages comme Apache Pulsar. Lorsqu’un Ă©tat change ou qu’un Ă©vĂ©nement se produit, le producteur envoie les donnĂ©es (les sources de donnĂ©es incluent les applications Web, les mĂ©dias sociaux et les appareils IoT) au courtier, aprĂšs quoi le courtier relie l’évĂ©nement Ă  l’abonnĂ©, qui consomme ensuite l’évĂ©nement.

Le Streaming d’évĂ©nements implique le flux continu de donnĂ©es provenant de sources telles que des applications, des bases de donnĂ©es, des capteurs et des appareils IoT. Les flux d’évĂ©nements utilisent le traitement de flux, dans lequel les donnĂ©es sont traitĂ©es et analysĂ©es lors de la gĂ©nĂ©ration. Ce traitement rapide se traduit par des rĂ©sultats plus rapides, ce qui est prĂ©cieux pour les entreprises disposant d’une fenĂȘtre de temps limitĂ©e pour agir, comme pour toute application en temps rĂ©el.

Le Streaming d’évĂ©nements offre plusieurs avantages aux entreprises ; Voici quelques-uns:

Expérience client améliorée

La diffusion et le traitement d’évĂ©nements offrent aux organisations la possibilitĂ© d’enrichir l’expĂ©rience de leurs clients. Par exemple, un client passant une commande pour un dĂźner peut obtenir des mises Ă  jour de statut instantanĂ©es, l’informant lorsque le vĂ©hicule de livraison est en route vers son emplacement ou s’il est arrivĂ©. Cette expĂ©rience client accrue se traduit par une plus grande confiance, de meilleures critiques et une amĂ©lioration des revenus.

Atténuation des risques

Des applications telles que PayPal et d’autres applications de technologie financiĂšre peuvent utiliser la diffusion d’évĂ©nements pour fournir une dĂ©tection de fraude en ligne afin d’amĂ©liorer la sĂ©curitĂ© Ă  l’aide d’une surveillance en temps rĂ©el. Les algorithmes de fraude testent les circonstances d’un Ă©vĂ©nement (achat ou transaction) Ă  l’aide d’analyses prĂ©dictives pour dĂ©tecter un Ă©cart par rapport Ă  la norme (une valeur aberrante). Si le systĂšme dĂ©tecte un Ă©vĂ©nement aberrant ou inhabituel, il arrĂȘte la transaction ou empĂȘche la carte de la terminer.

Coûts opérationnels réduits

En analysant les flux d’évĂ©nements, les outils industriels peuvent enregistrer des mesures de performance et de santĂ© pour Ă©valuer la santĂ© des Ă©quipements. Cette fonctionnalitĂ© permet aux organisations d’effectuer une maintenance prĂ©dictive sur les machines avant une panne totale, ce qui coĂ»te plus cher Ă  rĂ©parer. Dans la fabrication, par exemple, les organisations peuvent utiliser les flux Pulsar pour agrĂ©ger et traiter les donnĂ©es des paramĂštres de la machine, comme la tempĂ©rature ou la pression. Les ingĂ©nieurs pourraient dĂ©finir la tempĂ©rature maximale d’une machine et dĂ©finir une alerte qui se dĂ©clencherait si cette tempĂ©rature est dĂ©passĂ©e. Les opĂ©rateurs de machine pourraient effectuer des vĂ©rifications et de la maintenance avant que des problĂšmes plus coĂ»teux ne surviennent.

Comment le Streaming d’évĂ©nements est-il utilisé ?

Le Streaming d’évĂ©nements est essentiel pour les entreprises et les applications qui diffusent un volume Ă©levĂ© de donnĂ©es et dĂ©pendent d’informations rapides et exploitables. Ces applications incluent le commerce Ă©lectronique, le commerce financier et les appareils IoT.

Les applications de trading financier utilisent le Streaming d’évĂ©nements pour publier des Ă©vĂ©nements urgents oĂč les clients souhaitent agir immĂ©diatement. Par exemple, les utilisateurs peuvent s’abonner Ă  un service backend qui envoie des mises Ă  jour sur des Ă©vĂ©nements spĂ©cifiques, comme une modification du cours de l’action, pour permettre une prise de dĂ©cision rapide.

Le Streaming d’évĂ©nements dispose Ă©galement d’applications de dĂ©tection des risques et des fraudes dans les systĂšmes financiers qui traitent les paiements et autres transactions (et bloquent les transactions frauduleuses). Des algorithmes de fraude dĂ©finis peuvent bloquer les transactions suspectes en analysant les donnĂ©es immĂ©diatement aprĂšs leur gĂ©nĂ©ration.

Event Sourcing : une histoire ordonnée

L’approvisionnement en Ă©vĂ©nements stocke les donnĂ©es sous forme d’évĂ©nements dans les journaux d’ajout. Le processus capture chaque modification de l’état d’une application dans un objet d’évĂ©nement et stocke ces objets d’évĂ©nement sous forme de journaux dans l’ordre chronologique. Avec l’approvisionnement en Ă©vĂ©nements, les magasins d’évĂ©nements compilent l’état d’une entitĂ© commerciale en tant qu’évĂ©nement dans une sĂ©quence, et un changement d’état, comme de nouvelles commandes ou l’annulation d’une commande, ajoute le dernier Ă©tat Ă  la liste des Ă©vĂ©nements.

Pour que la recherche d’évĂ©nements fonctionne efficacement et consomme un minimum de ressources, chaque objet d’évĂ©nement ne doit contenir que les dĂ©tails nĂ©cessaires. Cela minimise l’espace de stockage et empĂȘche l’utilisation de ressources prĂ©cieuses dans le traitement des donnĂ©es qui conduisent Ă  des informations non exploitables.

Les magasins d’évĂ©nements compilent les Ă©vĂ©nements et le contexte de l’entreprise ; l’ajout de longs flux aux journaux d’évĂ©nements consomme rapidement le stockage de la base de donnĂ©es. Conserver uniquement les contextes d’évĂ©nement nĂ©cessaires dans le cadre de l’objet d’évĂ©nement permet de libĂ©rer de l’espace de stockage pour l’ajout de plusieurs journaux d’évĂ©nements, qui gĂ©nĂšrent des informations exploitables.

Les organisations peuvent choisir d’utiliser des « instantanĂ©s » pour aider Ă  optimiser les performances dans de tels cas. Les instantanĂ©s permettent de stocker l’état actuel de l’entitĂ©. ConnaĂźtre l’état actuel peut uniquement impliquer de tirer les instantanĂ©s et de recrĂ©er une chronologie pour connaĂźtre l’état le plus actuel.

Illustrons cela. Supposons que nous disposions d’une base de donnĂ©es faisant le point sur les articles rĂ©cents d’une boutique e-commerce :

La plupart des bases de donnĂ©es ne stockent que l’état actuel. Si nous devions rendre compte de la façon dont nous sommes arrivĂ©s Ă  la valeur finale du stock de 91, il n’y aurait aucune certitude ou clartĂ© quant Ă  la façon dont nous y sommes arrivĂ©s. L’approvisionnement en Ă©vĂ©nements enregistre chaque changement d’état dans un journal, ce qui rend possible le suivi de l’historique des Ă©vĂ©nements pour l’analyse et l’audit des causes profondes.

L’image ci-dessus illustre la recherche d’évĂ©nements et montre trois Ă©vĂ©nements, chacun avec la date, la quantitĂ© et le type d’article de la base de donnĂ©es. Dans ce cas, nous pouvons retracer comment nous sommes arrivĂ©s au montant final de 91.

L’image ci-dessus illustre la recherche d’évĂ©nements et montre trois Ă©vĂ©nements, chacun avec la date, la quantitĂ© et le type d’élĂ©ment de la base de donnĂ©es. Dans ce cas, nous pouvons retracer comment nous sommes arrivĂ©s au montant final de 91.

Les organisations de soins de santĂ© sont l’un des secteurs les plus rĂ©glementĂ©s, avec des rĂ©glementations en constante Ă©volution pour protĂ©ger les informations des clients. Ils ont besoin d’une solution de stockage flexible qui s’adapte aux besoins croissants en donnĂ©es tout en maintenant une migration facile des systĂšmes hĂ©ritĂ©s vers les nouvelles technologies.

En utilisant les magasins d’évĂ©nements comme source unique de vĂ©ritĂ©, les systĂšmes de santĂ© peuvent s’appuyer sur l’état immuable des journaux d’évĂ©nements pour connaĂźtre l’état rĂ©el de leurs donnĂ©es et faire des projections prĂ©cieuses en utilisant le traitement de flux en temps rĂ©el. Les entreprises de vente au dĂ©tail et de commerce Ă©lectronique pourraient acquĂ©rir une meilleure connaissance de leurs clients en analysant les grands magasins Ă©vĂ©nementiels durables, ce qui les aide Ă  crĂ©er des expĂ©riences client plus personnalisĂ©es.

DiffĂ©rences entre le Streaming d’évĂ©nements et l’approvisionnement d’évĂ©nements

Il existe quelques similitudes entre le Streaming d’évĂ©nements et le sourcing d’évĂ©nements. D’une part, chaque mĂ©thode de coordination d’évĂ©nements utilise une architecture de microservices dĂ©couplĂ©e, ce qui contribue Ă  amĂ©liorer l’évolutivitĂ© et les performances.

Bien que les magasins d’évĂ©nements et les flux diffĂšrent en termes de durabilitĂ© d’état, ils sont essentiels pour fournir les Ă©tats d’évĂ©nement actuels des applications Ă  utiliser dans l’analyse et la prise de dĂ©cisions commerciales. En outre, les deux mĂ©thodes de coordination d’évĂ©nements possĂšdent des capacitĂ©s de stockage durables, bien que les magasins d’évĂ©nements offrent gĂ©nĂ©ralement un stockage Ă©tendu plus long que les flux d’évĂ©nements.

Ici, approfondissons quelques diffĂ©rences clĂ©s entre le Streaming d’évĂ©nements et l’approvisionnement d’évĂ©nements.

Optimisation

Le Streaming d’évĂ©nements est optimal pour une communication plus accessible entre les donnĂ©es en mouvement en dissociant les Ă©diteurs des abonnĂ©s et en facilitant la publication de millions de messages Ă  haute performance. D’autre part, l’approvisionnement en Ă©vĂ©nements aide Ă  Ă©tablir l’historique des Ă©vĂ©nements en stockant chaque nouvel Ă©tat d’une entitĂ© dans un journal en ajout uniquement.

Mouvement de données

Pour la recherche d’évĂ©nements, les donnĂ©es existent au repos car les Ă©vĂ©nements sont immuables. Cependant, les flux d’évĂ©nements impliquent des donnĂ©es toujours en transit, passant entre plusieurs systĂšmes de stockage tels que des bases de donnĂ©es, des capteurs et des applications.

Emballer

Le Streaming d’évĂ©nements et l’approvisionnement en Ă©vĂ©nements aident Ă  coordonner les Ă©vĂ©nements dans une architecture pilotĂ©e par les Ă©vĂ©nements. Bien que leur utilisation et leur valeur soient diffĂ©rentes, ils fonctionnent bien ensemble pour aider Ă  crĂ©er une application durable et performante.

Le Streaming d’évĂ©nements utilise le modĂšle pub-sub dĂ©couplĂ© pour diffuser en continu des donnĂ©es provenant de diverses sources, ce qui aide Ă  orienter la prise de dĂ©cision commerciale. Malheureusement, bien que les outils de diffusion d’évĂ©nements puissent possĂ©der un stockage durable, ils ne sont pas conçus pour stocker les messages pendant longtemps, car les fonctionnalitĂ©s de stockage durable ne persistent que suffisamment longtemps pour les rendre tolĂ©rants aux pannes et rĂ©silients.

On peut voir l’approvisionnement en Ă©vĂ©nements comme un sous-ensemble ou un composant du Streaming d’évĂ©nements. La recherche d’évĂ©nements ajoute un nouvel Ă©vĂ©nement Ă  la liste actuelle des Ă©vĂ©nements de maniĂšre ordonnĂ©e. Il peut Ă©galement servir de source de vĂ©ritĂ© pour des audits fiables et obtenir Ă  tout moment l’état actuel des Ă©vĂ©nements. L’approvisionnement en Ă©vĂ©nements est crucial pour les industries financiĂšres avec de lourdes exigences rĂ©glementaires et d’audit et un magasin fiable pour suivre et construire l’état actuel des Ă©vĂ©nements. En revanche, le Streaming d’évĂ©nements est crucial dans les applications de trading financier oĂč les actions ont une fenĂȘtre limitĂ©e dans le temps et nĂ©cessitent une action immĂ©diate.

EDA n’est pas nĂ©cessairement une destination. C’est une voie Ă  suivre, entraĂźnant certaines performances et caractĂ©ristiques du systĂšme. Par exemple, l’approvisionnement en Ă©vĂ©nements dĂ©couple un ensemble de microservices afin qu’ils deviennent moins dĂ©pendants les uns des autres. Cela favorise la rĂ©silience et une itĂ©ration plus facile, entre autres avantages. CombinĂ©s Ă  l’approvisionnement en Ă©vĂ©nements, les microservices ont la possibilitĂ© de rejouer les Ă©vĂ©nements ainsi qu’un journal complet des modifications pour une fonctionnalitĂ© donnĂ©e comme le profil d’un utilisateur. Ce type d’architecture ouvre de nouvelles possibilitĂ©s au sein des systĂšmes existants.

Image vedette via Canva.

SOURCE : Reviews News

N’hĂ©sitez pas Ă  partager notre article sur les rĂ©seaux sociaux afin de nous donner un solide coup de pouce. 👓

Quitter la version mobile