flex-height
text-black

Osoba provádějící online nákup

Co je architektura řízená událostmi?

Integrační model architektury řízený událostmi detekuje a reaguje na důležité „události“ v reálném čase.

default

{}

default

{}

primary

default

{}

secondary

Definice architektury řízená událostmi a proč na ní záleží

Architektura řízená událostmi je přístup k návrhu softwaru, který umožňuje organizacím okamžitě reagovat na jakoukoli smysluplnou změnu stavu. Představte si, že by podnik mohl reagovat na okamžik, kdy se stane něco důležitého, například zákazník učiní online nákup, senzor označí hrozící selhání, klesne cena akcií nebo se spustí bezpečnostní upozornění. Tyto změny – tzv. události – se dějí neustále, napříč každou organizací, v každém odvětví. Úspěch souvisí s tím, jak rychle může podnik reagovat na události.

Zde přichází architektura řízená událostmi (EDA). Místo čekání na plánované aktualizace nebo spoléhání se na pevné, těsně propojené systémy, architektura řízená událostmi umožňuje aplikacím asynchronně komunikovat prostřednictvím volně spojených komponent. To znamená, že každá část systému může jednat nezávisle – aniž by znala vnitřní fungování ostatních – což usnadňuje škálování, přizpůsobování a inovaci.

Výsledkem je, že moderní systémy využívající architekturu řízenou událostmi umožňují podnikům poskytovat rychlejší, personalizovanější prostředí, automatizovat operace a zůstat agilní, i když požadavky a objemy dat rostou. Přijetím architektury řízené událostmi přecházejí organizace od reaktivní k proaktivní, získávají rychlost, flexibilitu a odolnost potřebnou k prosperitě v dynamickém digitálním světě.

Co je to událost?

Událost je jakákoli akce nebo změna stavu, která má dopad na podnik – například když zákazník přejede kreditní kartou, cestující se přihlásí k letu, uživatel resetuje heslo nebo sklad aktualizuje svůj inventář. Zamyslete se nad tím takto: událost je malá zpráva, která říká „něco, co se právě stalo“, umožňující ostatním částem systému okamžitě reagovat.

Společnosti se stávají hnací silou, když mohou zachytit a reagovat na události tak, jak k nim dochází, což je pořád. Mezi běžné příklady událostí patří:

Základní komponenty architektury řízené událostmi

Aby byla zachována konzistentní struktura, definují schémata událostí strukturu a formát události včetně polí, která událost obsahuje, datových typů a pravidel pro interpretaci.

V architektuře řízené událostmi fungují aplikace jako producentiudálostí – kteří produkují nebo zachycují události – nebo spotřebiteleudálostí – kteří zpracovávají události a jednají na nich. Výrobci přenášejí události spotřebitelům v reálném čase prostřednictvím zprostředkovatele událostí, což je middleware zaměřený na zprávy. Spotřebitelé pak mohou událost zpracovat a spustit další vlastní akce, workflow nebo události. Tento design umožňuje reagovat v reálném čase a chytřejší rozhodování jako datové toky v.

Zprostředkovatel události spravuje kanály událostí, které propojují výrobce se spotřebiteli, zajišťuje spolehlivé dodání a často poskytuje funkce, jako je filtrování, perzistence a přehrávání. Oddělením výrobců a spotřebitelů činí zprostředkovatel akcí systém odolnějším a škálovatelnějším.

Ve velmi jednoduché architektuře s jediným producentem a jediným spotřebitelem v přímé komunikaci mezi sebou mohou být zprostředkovatelé akcí volitelní. Ve většině podniků však více zdrojů vysílá události více spotřebitelům, takže je potřeba makléř, nebo dokonce síť brokerů – také známá jako „síť událostí“. Při použití event brokeru nebo sítě událostí se vytvoří „volné spojení“ aplikací.

Synchronní vs. asynchronní komunikace

Při synchronní komunikaci v architektuře řízené událostmi čeká producent události na to, až příjemce zpracuje a odpoví, než bude pokračovat. Příkladem může být, když webový klient odešle HTTP požadavek a čeká na odpověď serveru. Synchronní komunikace je obvykle těsně spojena a pomalejší při těžkých zátěžích a „blokuje“ výrobce od provedení svého dalšího úkolu, dokud neobdrží odpověď od spotřebitele.

Při asynchronní komunikaci v architektuře řízené událostmi výrobce nečeká na okamžitou reakci; může pokračovat ve zpracování, zatímco spotřebitel události zprávu zpracuje později. Příkladem může být, když systém publikuje událost zprostředkovateli události a spotřebitelé ji zpracovávají nezávisle. Asynchronní komunikace je neblokující, volně spojená a škálovatelná, takže je lepší pro systémy v reálném čase a distribuované systémy.

Modely řízené požadavky vs. modely řízené událostmi v architektuře řízené událostmi

V modelu řízeném požadavkem začíná interakce požadavkem od spotřebitele události na server a server odpoví. Tento model je založen na tahu – což znamená, že spotřebitel aktivně požaduje data nebo služby ze serveru, když je potřebuje, místo aby přijímal automatické aktualizace – a může být synchronní nebo asynchronní. Modely řízené požadavky jsou běžné v tradičních webových aplikacích a rozhraních API.

V modelu řízeném událostmi začíná interakce událostí – změnou stavu nebo akce, která spouští zpracování – a komponenty reagují automaticky, když dojde k událostem, například publikování/subskripce. Tento model je typicky založený na tlaku – což znamená, že systém automaticky odesílá („push“) události nebo aktualizace spotřebitelům, jakmile k nim dojde, aniž by čekal, až je spotřebitel požádá. Modely řízené událostmi jsou asynchronní, oddělené a ideální pro odezvu v reálném čase.

Přemýšlejte o klíčových rozdílech mezi modely tímto způsobem: v modelech řízených požadavky uživatelé požadují data, když je to potřeba; modely řízené událostmi automaticky reagují, když se něco stane.

Společné vzory architektury řízené událostmi

Architektonické vzory řízené událostmi jsou běžné návrhové přístupy, které definují, jak systém řízený událostmi zachycuje, zpracovává a spotřebovává události. Vzory poskytují opakovaně použitelné strategie pro zpracování komunikace a změny stavu škálovatelným, odděleným způsobem. Organizace aplikují během návrhu a implementace systému vzory architektury řízené událostmi, aby vyřešily společné výzvy. Patří mezi ně distribuce událostí, konzistence dat a škálovatelnost v asynchronních, volně propojených prostředích.

Existují čtyři hlavní vzory pro přenos událostí v architektuře řízené událostmi:

Styly zpracování událostí

Styly zpracování událostí popisují, jak systém detekuje, interpretuje a působí na události. Definují složitost logiky, načasování a vztahů mezi událostmi, kterým systém rozumí. Existují tři různé přístupy ke zpracování událostí, jakmile se dostanou ke spotřebiteli: jednoduché zpracování událostí, složité zpracování událostí a zpracování proudu událostí.

1. Jednoduché zpracování události: Spotřebitelé zpracují každou událost tak, jak je přijata. Příklady:

2. Komplexní zpracování událostí: Spotřebitelé zpracovávají řadu událostí k detekci vzorců a provádění akcí na základě výsledku. Příklady:

3. Zpracování toku událostí: Spotřebitelé zpracovávají a pracují na konstantním toku dat (data v pohybu) v reálném čase pomocí platformy pro streamování dat. Příklady:

Podniky si vybírají styl zpracování událostí v reálném čase na základě jejich individuálních potřeb a případů použití.

Jak funguje architektura řízená událostmi

Architektura řízená událostmi je integrační model vytvořený pro publikování, zachycování, zpracování a reakci na události napříč distribuovanými systémy v reálném čase. Když dojde k události v jedné aplikaci, automaticky se odešle zpráva všem ostatním aplikacím, které o ní potřebují vědět, takže na ni zase mohou reagovat.

Následující příklad ukazuje, jak funguje architektura řízená událostmi krok za krokem:

  1. Dochází k události: Dochází ke smysluplné změně stavu, například zákazník zadá objednávku, snímač detekuje teplotní špičku nebo selže platba.
  2. Producent události vyzařuje: Žádost, kde k události došlo, působí jako producent a uveřejňuje událost zprostředkovateli události.
  3. Zprostředkovatel události nasměruje událost: Zprostředkovatel události spravuje kanály událostí a dodává událost všem spotřebitelům, kteří mají zájem o událost, což pomáhá zajistit spolehlivou, škálovatelnou a oddělenou komunikaci.
  4. Spotřebitelé události reagují na událost: Aplikace nebo služby, které se přihlásily k odběru kanálu událostí, událost zpracují a provedou příslušné akce, jako je aktualizace inventáře, odeslání potvrzovacího e-mailu nebo spuštění výstrahy.

Architektury založené na událostech jsou asynchronní a oddělené – to znamená, že aplikace si nemusí být navzájem vědomy, aby sdílely informace a dokončovaly úlohy v reálném čase. Informace o událostech nebo zprávy mohou mezi aplikacemi volně a automaticky proudit. Výsledkem je, že architektonický model řízený událostmi je mnohem rychlejší a odolnější než tradiční modely řízené požadavky a odezvou, kde jedna aplikace musí požadovat konkrétní informace, které potřebuje od druhého, a počkat na odpověď, než přejde k dalšímu úkolu. Vzhledem k oddělené povaze architektury řízené událostmi je také široce považován za osvědčený postup pro komunikaci mikroslužeb.

Případy použití a příklady z reálného světa

Architektura řízená událostmi podporuje moderní digitální zkušenosti napříč odvětvími, od bankovnictví a maloobchodu až po výrobu a logistiku. Aktivací automatizace založené na umělé inteligenci, inteligence o událostech a schopnosti reagovat v reálném čase pomáhá architektura řízená událostmi organizacím modernizovat IT, oddělit starší systémy a hladce pracovat v prostředích s více cloudy.

Následující příklady ukazují, jak architektura řízená událostmi funguje v praxi.

Restaurace

  1. Vysokoškolák zadá objednávku na pizzu pomocí aplikace pro rozvoz jídla. Aplikace zachycuje jeho základní informace – jméno, adresu, platební údaje a objednávku – a publikuje událost „objednávka pizzy“.
  2. Restaurace na pizzu se přihlásí k odběru akce, splní objednávku a zveřejní svou vlastní „objednávku připravenou“ akci zpět do doručovací služby.
  3. Služba pak přidělí řidiči dodávky, naplánuje ETA a upozorní zákazníka, že jeho koláč je na cestě.

E-commerce

  1. Internetový nakupující zadá údaje o své kreditní kartě na stránce e-commerce, kde zveřejní událost „odeslaná platba“.
  2. Platební systém se přihlásí k odběru události, zpracuje platbu a vydá vlastní událost „zpracovaná platba“, která indikuje úspěch nebo neúspěch, a přesměruje ji zpět do uživatelského rozhraní webové stránky.
  3. Uživatelské rozhraní zobrazuje status platby zákazníkovi a vyzývá k dalším krokům.

Některé další příklady architektury řízené událostmi zahrnují:

Telemetrie IoT

Analytické funkce a informace o událostech

Automatizace

Finanční transakce

Dodavatelský řetězec

Modernizace IT a oddělení starších verzí

Oznámení

Všeobecné případy použití architektury řízené událostmi zahrnují:

Výhody architektury řízené událostmi

Organizace mohou uplatnit výhody architektury řízené událostmi na své moderní systémy. Mezi hlavní výhody architektury založené na událostech patří:

  1. Reakce v reálném čase a inteligentní pracovní postupy: Architektura řízená událostmi umožňuje systémům okamžitě reagovat na události tak, jak k nim dochází, což spouští automatizované pracovní postupy a rozhodnutí v reálném čase. To je obzvláště důležité v době špičkové poptávky – například během velkých prodejních událostí nebo svátků. Organizace mohou tuto schopnost reakce aplikovat na každodenní provoz, což zlepšuje vše od automatizace dodavatelského řetězce a odhalování podvodů až po personalizované zapojení zákazníků.
  2. Rychlost a efektivita pomocí asynchronní komunikace: Aplikace v architektuře řízené událostmi komunikují asynchronně, což znamená, že výrobci publikují zprávy o událostech bez čekání na jejich příjem. Tento neblokující přístup zlepšuje výkon, snižuje latenci a umožňuje systémům zpracovávat masivní objemy událostí bez úzkých míst.
  3. Flexibilita a škálovatelnost prostřednictvím oddělení a volného spojení: Komponenty v architektuře řízené událostmi jsou odděleny nebo volně spojeny, takže fungují nezávisle, aniž by se vzájemně spoléhaly na dostupnost nebo vnitřní logiku. Díky tomu je snadné aktualizovat, testovat a nasazovat služby, aniž by došlo k narušení celého systému. Oddělení plateb také usnadňuje podle potřeby přidávat další výrobce a spotřebitele, což umožňuje bezproblémové rozšiřování s rostoucími potřebami podniku.
  4. Odolnost a izolace chyb: S oddělenými službami se poruchy v jedné komponentě nekaskádují napříč systémem. Každá služba může selhat nezávisle, díky čemuž je architektura odolnější a odolnější vůči chybám než tradiční těsně spojené modely.
  5. Integrace připravená na budoucnost: Volné spojení a asynchronní design činí architekturu řízenou událostmi ideální pro modernizaci IT, odpojení starších systémů a více cloudových operací. Organizace získávají flexibilitu při integraci nových technologií – jako je automatizace založená na umělé inteligenci a informace o událostech – bez přepisování základních systémů.

Výzvy, omezení a osvědčené postupy

Architektury řízené událostmi sice nabízejí silné výhody, ale přinášejí také nové konstrukční a provozní výzvy, které musí organizace plánovat. Při implementaci architektury řízené událostmi zvažte následující výzvy architektury řízené událostmi, omezení a osvědčené postupy k zajištění škálovatelných, odolných a dobře řízených systémů řízených událostmi.

Výzvy

Jak zapadá síť událostí

Síť událostí je architektonická schopnost, která propojuje více zprostředkovatelů událostí napříč různými hyperškálovači a v soukromých, hybridních a multicloudových prostředích. Síť událostí nabízí kompletní sadu pokročilých služeb pro vytváření událostí, včetně streamování událostí, správy událostí, monitorování, dynamického směrování zpráv a jemného filtrování. Propojením zprostředkovatelů událostí s distribuovanou sítí mohou organizace:

Jako páteř moderních systémů je síť událostí základní vrstvou pro škálovatelné architektury řízené událostmi v reálném čase. Pomáhá zajistit schopnost reagovat v reálném čase a zároveň zjednodušuje integraci, snižuje chaos při událostech a posiluje možnosti řešení problémů napříč distribuovanými prostředími.

Omezení architektury řízené událostmi

Osvědčené postupy architektury řízené událostmi

Charakteristiky architektury řízené událostmi

Architektura řízená událostmi se ve svém jádru opírá o několik definujících charakteristik, díky nimž je ideální pro distribuované, hybridní a multicloudové prostředí.

Díky těmto charakteristikám je architektura řízená událostmi výkonným přístupem pro budování systémů, které jsou v reálném čase, odolné, přizpůsobivé a připravené k růstu – ať už podporujete mikroslužby, integrujete cloudové prostředí nebo umožníte aplikace podnikových procesů řízené událostmi.

Časté otázky

Co je to událost v architektuře řízené událostmi?
V architektuře řízené událostmi je událost smysluplnou změnou stavu podnikového procesu nebo systému, jako je vytvoření, aktualizace nebo dokončení entity. Události jsou signály vysílané aplikacemi, když se stane něco důležitého, takže ostatní systémy mohou být oznamovány v reálném čase a reagovat bez těsného spojení. Příklady událostí zahrnují, když platba zákazníka uspěje nebo selže, zásilka dorazí do skladu nebo jej opustí a snímač stroje detekuje teplotní špičku.
Jak se liší architektura řízená událostmi od architektury řízené požadavky?

Hlavní rozdíl mezi architekturami řízenými událostmi a požadavky je v tom, jak systémy komunikují a reagují na změny. V modelu řízeném požadavkem začíná interakce, když spotřebitel požádá o data nebo akci ze serveru a server odpoví. Tento model je obvykle synchronní – což znamená, že žadatel čeká (blokuje), dokud odpověď nedorazí – a je založen na tahu, což znamená, že aplikace obdrží aktualizace pouze v případě, že o ně požádají.

V modelu řízeném událostmi začíná interakce, když dojde k události – smysluplné změně stavu v podnikovém systému – a aplikace automaticky reagují. Systémy řízené událostmi jsou asynchronní, takže výrobci uveřejňují události, aniž by čekali na reakci spotřebitele. Tento volně spojený model založený na push umožňuje aplikacím pracovat nezávisle a zpracovávat události v reálném čase v distribuovaných, hybridních a multicloudových prostředích.

Jaké jsou hlavní složky architektury řízené událostmi?

Hlavními složkami architektury řízené událostmi jsou výrobci, spotřebitelé, zprostředkovatelé akcí a kanály pro akce. Tyto komponenty společně vytvářejí asynchronní, volně spojený tok událostí, který umožňuje škálovatelné interakce v reálném čase napříč distribuovanými, hybridními a multicloudovými prostředími:

  • Producenti: Aplikace, které generují nebo zachycují události – jako jsou aktualizace objednávek, platby a odečty snímačů – a publikují je do systému řízeného událostmi
  • Spotřebitelé: Přihlaste se k odběru událostí, zpracujte je a reagujte na ně spuštěním workflow, aktualizací dat, odesláním oznámení nebo iniciací následných procesů
  • Zprostředkovatelé událostí: middleware pro zasílání zpráv, který směřuje události od výrobců ke spotřebitelům, poskytuje funkce, jako je spolehlivé dodání, filtrování, dynamické směrování, perzistence a přehrávání
  • Kanály událostí: Cesty, které zprostředkovatel události spravuje a propojuje výrobce a spotřebitele: výrobci publikují události do kanálu a spotřebitelé se hlásí k relevantním kanálům
Jaké jsou běžné vzory architektury řízené událostmi?

Architektonické vzory řízené událostmi jsou opakovaně použitelné návrhové přístupy, které definují, jak jsou události zachycovány, směrovány, ukládány a spotřebovávány v systému řízeném událostmi. Hlavní architektonické vzory řízené událostmi jsou:

  • Publish/subscribe (pub/sub): Producenti publikují události do kanálu a více spotřebitelů si automaticky předplatí a reaguje.
  • Streaming událostí: Producenti publikují nepřetržité streamy událostí makléři a spotřebitelé mohou číst, přehrávat nebo zpracovávat tyto události v kterémkoli bodě streamu.
  • Segregace odpovědnosti za příkazový dotaz (CQRS): Operace čtení a zápisu jsou rozděleny do různých modelů pro asynchronní šíření aktualizací.
  • Strategický nákup událostí: Systémy ukládají každou změnu stavu jako neměnnou událost do protokolu pouze pro připojení a poté znovu sestaví aktuální stav opakováním událostí.
Jaké jsou výhody používání architektury řízené událostmi?

Mezi hlavní výhody využití architektury řízené událostmi patří:

  • Volné spojení: Aplikace fungují nezávisle, aniž by vzájemně znaly své vnitřní prostory, což umožňuje snadnější aktualizace, integrace a rozšíření.
  • Škálovatelnost: Je možné plynule přidávat nové výrobce a spotřebitele a škálovat pracovní zatížení napříč hybridními a více cloudovými prostředími.
  • Odolnost: Odpojené služby izolují poruchy, takže jedna komponenta může jít dolů, aniž by to ovlivnilo celý systém.
  • Rychlost a odezva v reálnémčase: Asynchronní komunikace bez blokování umožňuje systémům okamžitě reagovat na obchodní události a zvládat vysoké objemy s nízkou latencí.