Způsoby zasílání zpráv
Distribuovaná povaha cloudových aplikací vyžaduje infrastrukturu zasílání zpráv, která připojuje komponenty a služby, a to v ideálním případě volně, aby se maximalizovala škálovatelnost. Často se využívá asynchronní zasílání zpráv, které poskytuje řadu výhod, ale přináší také problémy, jako je například řazení zpráv, správa nezpracovatelných zpráv, idempotence a další.
| Vzor | Souhrn |
|---|---|
| Asynchronní požadavek-odpověď | Oddělte back-endové zpracování od front-endového hostitele – back-endové zpracování back-endu musí být asynchronní, ale front-end pořád potřebuje jasnou odpověď. |
| Kontrola deklarace identity | Rozdělte velkou zprávu na kontrolu deklarace identity a datovou část, abyste zabránili zahlcení sběrnice zpráv. |
| Choreografie | Zapojte každou komponentu systému do rozhodovacího procesu týkajícího se pracovního postupu obchodní transakce a nespoléhejte na centrální bod řízení. |
| Competing Consumers | Umožňuje několika souběžným příjemcům zpracovávat zprávy přijaté ve stejném kanálu pro zasílání zpráv. |
| Pipes and Filters | Rozdělí úlohu, která provádí komplexní zpracování, do řady samostatných prvků, které je možné využít znovu. |
| Priority Queue | Určuje prioritu požadavků odeslaných službám, aby se požadavky s vyšší prioritou přijímaly a zpracovávaly rychleji než požadavky s nižší prioritou. |
| Publisher odběratele | Umožňuje aplikaci oznamovat události několika příjemcům asynchronně, bez párování odesílatelů s příjemci. |
| Queue-Based Load Leveling | Použije frontu, která funguje jako vyrovnávací paměť mezi úlohou a službou, kterou vyvolá, pro ulehčení občasných velkých zátěží. |
| Scheduler Agent Supervisor | Koordinuje sadu akcí napříč distribuovanou sadu služeb a dalších vzdálených prostředků. |
| Sequential Convoy | Zpracovává sadu souvisejících zpráv v definovaném pořadí, aniž by docházelo k blokování zpracování dalších skupin zpráv. |