Ce este arhitectura bazată pe eveniment?
Arhitectura bazată pe evenimente (EDA) este un model de integrare care detectează „evenimentele” importante dintr-o afacere – cum ar fi o tranzacție sau un coș de cumpărături abandonat – și acționează asupra acestora în timp real.
Prezentare generală a arhitecturii bazate pe eveniment
Aproape fiecare eveniment dintr-o afacere este sensibil la timp. Atunci când un client efectuează o achiziție online, un senzor marchează o defecțiune iminentă, un preț al stocului scade sau se detectează o încălcare a securității – trebuie luate măsuri imediate. Aici intervine o arhitectură bazată pe evenimente (EDA). O AEA poate crea, detecta și răspunde la evenimente pe măsură ce acestea se desfășoară, ajutând companiile să îmbunătățească totul, de la experiențele clienților la eficiența operațională și agilitatea.
Ce este un eveniment?
În primul rând, unele elemente de bază. Un eveniment este orice acțiune sau schimbare de stare care este importantă pentru o afacere. De exemplu, când cineva glisează un card de credit, efectuează check-in pentru un zbor sau resetează o parolă – sau când inventarul este actualizat într-un depozit. Evenimentele se petrec tot timpul, în fiecare organizație, în fiecare industrie. Companiile devin „conduse de evenimente” atunci când pot captura și reacționa la evenimente pe măsură ce apar.
Ce este o arhitectură bazată pe eveniment?
O arhitectură bazată pe eveniment (EDA) este un model de integrare conceput pentru a publica, captura, prelucra și răspunde la evenimente în toate sistemele distribuite în timp real. Atunci când are loc un eveniment într-o aplicație, un mesaj este trimis automat tuturor celorlalte aplicații care trebuie să știe despre acesta, astfel încât să poată acționa la rândul său.
Arhitecturile bazate pe eveniment sunt decuplate – ceea ce înseamnă că aplicațiile nu trebuie să fie conștiente unele de altele pentru a partaja informații și a finaliza sarcini. Informațiile despre eveniment sau mesajele pot circula liber și automat între aplicații. Prin urmare, modelul AEA este mult mai rapid decât modelul tradițional de cerere/răspuns, în care o aplicație trebuie să solicite informațiile specifice de care are nevoie de la o altă aplicație și să aștepte un răspuns înainte de a trece la următoarea sarcină. De asemenea, datorită naturii decuplate a unei AEA, acestea sunt considerate pe scară largă drept cele mai bune practici pentru comunicarea prin microservicii.
Cum funcționează o AEA?
Într-o arhitectură bazată pe eveniment, aplicațiile acționează ca producători de evenimente (aplicații care produc sau capturează evenimente) sau consumatori de evenimente (aplicații care prelucrează și acționează asupra evenimentelor). Producătorii transmit evenimente consumatorilor prin intermediul unui broker, cunoscut sub numele de middleware orientat pe mesaje, în timp real. Consumatorii pot apoi prelucra evenimentul și pot declanșa alte acțiuni, workflow-uri sau evenimente proprii.
Într-o arhitectură foarte simplă – atunci când există un singur producător și un singur consumator care sunt în comunicare directă între ei – brokerii pot fi opționali. Cu toate acestea, în majoritatea întreprinderilor există mai multe surse care trimit evenimente către mai mulți consumatori, astfel încât este nevoie de un broker sau chiar de o rețea de brokeri (cunoscută și sub numele de „plasă de evenimente”). Atunci când se utilizează un broker sau o plasă de evenimente, se creează o „cuplare liberă” a aplicațiilor.
Modele de arhitectură bazate pe eveniment
Există două modele principale pentru transmiterea evenimentelor într-o arhitectură bazată pe eveniment: publicare/abonare și streaming de evenimente.
Publicare/abonare (alias “pub/sub”) – Cu pub/sub, consumatorii de evenimente se abonează la mesajele și canalele publicate de producătorii de evenimente. Atunci când un eveniment este publicat, acesta este trimis direct tuturor abonaților printr-un agent. Pentru a evita duplicarea, evenimentele nu pot fi rejucate sau accesate odată consumate – acestea sunt șterse de agent.
Streaming de evenimente – Cu streaming de evenimente, producătorii publică fluxuri întregi de evenimente unui broker. Consumatorii se abonează la flux și pot citi din orice parte, consumând doar evenimentele relevante pentru aceștia. Cu acest model, evenimentele sunt reținute de broker chiar și după ce sunt consumate.
3 abordări ale procesării evenimentelor
Există trei abordări diferite pentru prelucrarea evenimentelor odată ce ajung la un consumator: prelucrarea simplă a evenimentelor, prelucrarea complexă a evenimentelor și prelucrarea fluxului de evenimente.
- Prelucrare simplă a evenimentului: Consumatorii prelucrează fiecare eveniment așa cum este primit.
- Prelucrarea complexă a evenimentelor: Consumatorii prelucrează o serie de evenimente pentru a detecta modelele și a efectua acțiuni pe baza rezultatului.
- Procesarea fluxului de evenimente: Consumatorii procesează și acționează asupra unui flux constant de date (date în mișcare) în timp real, utilizând o platformă de streaming de date.
Companiile își aleg abordarea pentru procesarea evenimentelor în funcție de nevoile lor individuale și de cazurile de utilizare.
Cazuri și exemple de utilizare a arhitecturii bazate pe eveniment
Există multe cazuri diferite de utilizare pentru arhitecturi bazate pe evenimente în fiecare industrie – de la banking la retail. Iată un exemplu din industria restaurantelor:
Un student de facultate plasează o comandă pentru o pizza prin intermediul unei aplicații de livrare a alimentelor, cum ar fi Uber Eats. Aplicația captează informațiile sale de bază (numele, adresa, informațiile de plată și ordinea) și publică evenimentul „pizza order”.
Restaurantul de pizza se aboneaza la eveniment, indeplineste comanda si isi publica propriul eveniment “order ready” inapoi la serviciul de livrare a alimentelor
Serviciul alocă apoi un șofer de livrare, programează un OSE și avertizează clientul că sectorul său circular este pe drum
Un exemplu de AEA din comerțul electronic:
Cumpărătorul online introduce detaliile cardului de credit pe un site de comerț electronic, care publică evenimentul „plata depusă”
Sistemul de plăți se abonează la eveniment, procesează plata și emite propriul eveniment de „plată procesată”, indicând succesul sau eșecul – și îl direcționează înapoi la interfața site-ului web
UI afișează starea plății pentru client și solicită etapele următoare
Alte câteva exemple de AEA includ:
Când un cumpărător online face clic pe un produs și sistemul răspunde prin generarea de recomandări de produse bazate pe articole similare
Când un client depune un cec la o bancă și sistemul înregistrează automat depozitul în contul său
Atunci când un detailist testează tranzacțiile globale pentru fraudă și marchează orice achiziții suspecte către compania de carduri de credit
Atunci când un fabricant monitorizează redarea în flux a datelor IoT de la echipamentul său și este alertat de orice posibile probleme sau avarii de întreținere
Beneficiile unei arhitecturi bazate pe evenimente
Există multe beneficii ale unei arhitecturi bazate pe evenimente. Primele 3 sunt:
- Fluxuri de lucru în timp real și receptivitate. O AEA poate monitoriza și reacționa rapid la evenimente pe măsură ce apar, adesea utilizând robotic process automation (RPA) pentru a accelera fluxurile de lucru și a declanșa următorii pași în timp real. Acest lucru este deosebit de important în perioadele de vârf ale cererii – de exemplu, în timpul evenimentelor majore de vânzare sau al sărbătorilor. Această reacție poate fi aplicată și în viața de zi cu zi (i.e. fluxuri de lucru non-vârf), îmbunătățind totul, de la automatizarea lanțului de aprovizionare la detectarea fraudelor.
- Mesagerie asincronă. Aplicațiile dintr-o AEA comunică în mod asincron – ceea ce înseamnă că producătorii publică mesaje de eveniment fără a aștepta primirea acestora de către consumatori. Acest lucru nu numai că permite aplicațiilor să treacă la alte sarcini fără a aștepta, ci simplifică integrarea.
- Cuplare de- și vrac. Cererile în cadrul unei AEA sunt decuplate sau cuplate liber și nu depind reciproc de disponibilitatea celeilalte. Acestea pot fi actualizate, testate și implementate independent. De asemenea, ele pot eșua independent – astfel încât arhitectura este mai durabilă și persistentă decât modelele tradiționale. Decuplarea facilitează, de asemenea, adăugarea de editori și consumatori suplimentari, după cum este necesar, eliminând necesitatea de a rescrie codul de fiecare dată când există o schimbare.
Concluzie
Sap Event Mesh oferă opțiuni de implementare pentru diferite hiperscalere și în medii cloud private. Acesta poate fi configurat pentru a forma o plasă distribuită de brokeri de evenimente implementate în medii în nori privați sau publici. Mesh pentru evenimente oferă un set complet de servicii de evenimente, inclusiv streaming de evenimente, gestionarea și monitorizarea evenimentelor și caracteristici avansate, cum ar fi rutarea dinamică a mesajelor și filtrarea cu granulație fină.
Descoperă capabilitățile sap event mesh
Alimentează-ți aplicațiile cu o arhitectură bazată pe eveniment de la SAP Integration Suite.
Idei pe care nu le veți găsi nicăieri altundeva
Înregistrați-vă pentru o doză de business intelligence livrată direct în căsuța dvs. poștală.