Co je událostmi řízená architektura – Event Driven Architecture (EDA)?
Událostmi řízená architektura, je architektonický styl, vytváření systémů, ale i aplikací, kde jsou základem události (indikující změny stavu), které již nastaly a jsou tedy neměnné.
Komponenty systému spolu komunikují výhradně pomocí událostí (eventů). Nepoužívají tedy příkazy nebo dotazy.
Mezi základní komponenty systému řízeného událostmi patří
- Poskytovatelé eventů (např. monitorovací aplikace, senzory, middleware, aplikace)
- Příjemci eventů (aplikace, které události zpracovávají a reagují na ně)
- Komunikační kanál (Event Channel) – pro komunikaci mezi jednotlivými poskytovateli a příjemci – Může být založen na modelu publish/subscribe – (kde co příjde, to konzumujeme) nebo event streaming modelu (události jsou zaznamenávány do logu, kde se můžeme připojit ke streamu a číst různé části streamu – jak to umožňuje například Apache Kafka.
Architektura řízená událostmi tak podporuje
- Asynchronní přenos zpráv v reálném čase mezi poskytovatelem a příjemcem, který umožňuje systému rychleji reagovat na vstupy.
- Volnou vazbu mezi komponentami, kde komponenty v systému nemusí mít vzájemnou znalost o své existenci či topologii sítě.
- Možnost přizpůsobit a rozšířit systém, kdy je možné do systému jednoduše přidávat další komponenty zpracovávající události a poskytující výstupy.
- Škálovatelnost systému a toleranci systému k chybám, která je zajištěna možností přidávat do systému další komponenty pro zpracování a ukládání dat.
Tento architektonický styl se dnes často používá v distribuovaných systémech i přes
- zvýšení složitosti systému v tom, že je někdy fungování systému těžké pochopit, testovat a odstraňovat chyby, protože vazby mezi komponentami jsou volné a je to nutné řešit monitorováním stavu systému.
- vysoká dostupnost dat, tedy že mám k datům okamžitý přístup přináší omezení v tom, že architektura řízená událostmi zajišťuje pouze případná konzistenci dat. Tedy je potřeba myslet na to, že můžete pracovat s neaktuálními daty.
Událostmi řízená architektura se hodí v částech systému, kde jsou potřeba okamžité reakce. Přístup založený na modelu komunikace dotaz odpověď se uplatní zejména v částech systému, které jsou využívány uživatelem systému.
Zajímá-li vás technologie Data Distribution Service™ (DDS) , tak se přihlaste to skupiny DDS v Akci (LinkedIn). www.pavelpohanka.cz