Popis scénářů zpráv a událostí
Vaším prvním rozhodnutím v návrhu architektury aplikace připravené na AI je naplánovat, jak komponenty aplikace komunikují. Definování strategie komponent vám pomůže zvolit příslušnou službu Azure.
Předpokládejme, že navrhujete architekturu pro aplikaci pro sdílení videí pro domácí vylepšení pro tailwind Traders. Chcete, aby vaše aplikace byla co nejspolehlivější a škálovatelná. Plánujete používat technologie Azure k vytvoření robustní komunikační infrastruktury. Než budete moct zvolit příslušné služby Azure, musíte navrhnout, jak jednotlivé komponenty aplikace komunikují s ostatními komponentami. Pro každý typ komunikace můžete zvolit jinou technologii Azure.
Co je potřeba vědět o zprávách a událostech
Většina komponent aplikace komunikuje odesíláním zpráv nebo událostí. Azure nabízí různé služby, které podporují různé strategie komunikace.
Zprávy
Pojďme se podívat na charakteristiky zpráv.
Zprávy obsahují nezpracovaná data vytvořená jednou komponentou a spotřebovaná jinou komponentou.
Zpráva obsahuje samotná data, ne odkazy na tato data.
Při komunikaci zpráv očekává odesílající komponenta cíl zpracování dat určitým způsobem. Integrita celého systému může záviset na odesílateli i příjemci, který provádí určitou úlohu.
Předpokládejme, že uživatel nahraje nové video pomocí mobilní aplikace pro sdílení videa. Vaše mobilní aplikace musí video odeslat do webového rozhraní API, které běží v Azure. Soubor videa se musí odeslat, ne jenom upozornění, které indikuje, že existuje nové video. Mobilní aplikace očekává, že webové rozhraní API ukládá nové video do databáze a zpřístupňuje video ostatním uživatelům.
Události
Teď se podrobněji podíváme na události.
Události jsou světlejší než zprávy a nejčastěji se používají pro komunikaci vysílání. Architektura řízená událostmi se skládá z producentů událostí, kteří generují stream událostí, příjemci událostí, kteří tyto události naslouchají, a kanály událostí, které přenášejí události od producentů do příjemců.
U událostí se přijímající komponenty obecně rozhodnou o komunikaci, o které se zajímají, a pak se k odběru těchto událostí přihlásí. Zprostředkovatel spravuje proces předplatného. Zprostředkovatel používá služby, jako je Azure Event Grid nebo Azure Event Hubs. Když vydavatelé posílají událost, zprostředkující tuto událost směruje všem zúčastněným stranám. Tento model se označuje jako architektura publikování a odběru a je nejpoužívanější.
Události mají následující vlastnosti:
Událost je zjednodušené oznámení, které indikuje, že došlo k něčemu.
Událost může být odeslána více příjemcům nebo žádné.
Vydavatel události nemá žádná očekávání o akcích přijímající komponentou.
Událost je často určená k "fanouškování" nebo má mnoho odběratelů pro každého vydavatele.
Událost je samostatná jednotka, která nesouvisí s jinými událostmi, ale událost může být součástí související a seřazené řady.
Co je potřeba vzít v úvahu při výběru zpráv nebo událostí
Projděte si následující scénáře týkající se toho, kdy zvolit komunikaci zpráv nebo událostí pro architekturu vaší aplikace pro tailwind Traders.
Zvažte zprávy a události. Není neobvyklé, že aplikace implementuje události i zprávy. Aplikace může používat události pro některé komponenty a funkce a zprávy pro jiné součásti. Zvolte každou službu Azure, aby vyhovovala konkrétním potřebám jednotlivých komponent vaší aplikace.
Zvažte očekávání odesílatele. Pokud odesílající komponenta ve vaší aplikaci očekává, že cíl komponentu zpracuje určitým způsobem, zvažte implementaci zpráv. Pokud komponenta odesílatele ve vaší aplikaci nemá žádné požadavky na cílovou komponentu, můžete místo zpráv implementovat události.
Zvažte zaručenou komunikaci. Pokud vytváříte distribuovanou aplikaci a chcete zaručit, že se veškerá komunikace zpracuje, zvažte použití zpráv. V komunikaci se zprávou očekává, že odesílatel zprávy i příjemce dokončí své úkoly.
Zvažte dočasné komunikace. Dočasné znamená, že komunikace se zahodí, pokud nejsou k odběru příjemci přihlášení k odběru. Pokud vaše aplikace nevyžaduje odběratele ani akce od žádného příjemce, zvažte použití událostí.