Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Architekti navrhují úlohy integrací služeb platformy, funkcí a kódu tak, aby splňovaly funkční i nefunkční požadavky. Abyste mohli navrhovat efektivní úlohy, musíte porozumět těmto požadavkům a vybrat topologie a metodologie, které řeší problémy s omezeními vaší úlohy. Vzory návrhu cloudu poskytují řešení mnoha běžných problémů.
Návrh systému se silně spoléhá na zavedené vzory návrhu. Infrastrukturu, kód a distribuované systémy můžete navrhovat pomocí kombinace těchto vzorů. Tyto vzory jsou zásadní pro vytváření spolehlivých, vysoce zabezpečených, nákladově optimalizovaných, provozních a vysoce výkonných aplikací v cloudu.
Následující vzory návrhu cloudu jsou nezávislé na technologiích, takže jsou vhodné pro jakýkoli distribuovaný systém. Tyto vzory můžete použít napříč Azure, dalšími cloudovými platformami, místními nastaveními a hybridními prostředími.
Jak vzory návrhu cloudu vylepšují proces návrhu
Cloudové úlohy jsou zranitelné vůči pádům distribuovaného computingu, což jsou běžné, ale nesprávné předpoklady týkající se fungování distribuovaných systémů. Mezi příklady těchto fallacií patří:
- Síť je spolehlivá.
- Latence je nula.
- Šířka pásma je nekonečná.
- Síť je zabezpečená.
- Topologie se nezmění.
- Je tu jeden správce.
- Správa verzí součástí je jednoduchá.
- Implementace pozorovatelnosti může být zpožděná.
Tyto chybné představy můžou vést k vadným návrhům úloh. Vzory návrhu neodstraní tyto chybné představy, ale pomáhají zvýšit povědomí, poskytovat strategie kompenzace a poskytovat zmírnění rizik. Každý vzor návrhu cloudu má kompromisy. Místo toho, jak ho implementovat, se zaměřte na to, proč byste měli zvolit konkrétní vzor.
Zvažte, jak tyto standardní vzory návrhu používat jako základní stavební bloky pro dobře navržený návrh úloh. Každý vzor návrhu v rozhraní Azure Well-Architected Framework představuje jeden nebo více jeho pilířů. Některé vzory můžou představovat kompromisy, které ovlivňují cíle jiných pilířů.
Katalog vzorů
Každý vzor v tomto katalogu popisuje problém, který řeší, důležité informace o použití vzoru a příklad založený na službách a nástrojích Microsoft Azure. Některé vzory zahrnují ukázky kódu nebo fragmenty kódu, které ukazují, jak implementovat vzor v Azure.
| Vzor | Shrnutí | pilíře architektury Well-Architected |
|---|---|---|
| Velvyslanec | Vytvořte pomocné služby, které odesílají síťové požadavky jménem spotřebitelské služby nebo aplikace. | -Spolehlivost -Bezpečnost |
| Vrstva proti korupci | Implementuje adaptační vrstvu mezi moderní aplikací a systémem starší verze. | - Efektivita provozu |
| Asynchronní požadavek-odpověď | Oddělení back-endového zpracování od front-endového hostitele Tento vzor je užitečný, když back-endové zpracování musí být asynchronní, ale front-end vyžaduje jasnou a včasnou odpověď. | - Efektivita výkonu |
| Backendy pro frontendy | Vytvořte samostatné back-endové služby pro konkrétní front-endové aplikace nebo rozhraní. | -Spolehlivost -Bezpečnost - Efektivita výkonu |
| Přepážka | Izolujte prvky aplikace do fondů, aby v případě selhání jednoho prvku fungovaly i ostatní. | -Spolehlivost -Bezpečnost - Efektivita výkonu |
| Doplňování mezipaměti | Načtěte data na vyžádání do mezipaměti z úložiště dat. | -Spolehlivost - Efektivita výkonu |
| Choreografie | Nechte jednotlivé služby rozhodnout, kdy a jak se obchodní operace zpracovává, a ne v závislosti na centrálním orchestrátoru. | - Efektivita provozu - Efektivita výkonu |
| Jistič | Zpracovávejte chyby, jejichž oprava může trvat různou dobu, když se aplikace připojí ke vzdálené službě nebo zdroji. | -Spolehlivost - Efektivita výkonu |
| Kontrola deklarace identity | Rozdělte velkou zprávu na kontrolu nároku a datovou část, abyste zabránili zahlcení systému zasílání zpráv. | -Spolehlivost -Bezpečnost - Optimalizace nákladů - Efektivita výkonu |
| Kompenzační transakce | Vrátí zpět práci provedenou posloupností kroků, které společně tvoří nakonec konzistentní operaci. | -Spolehlivost |
| Konkurující spotřebitelé | Umožňuje více souběžných příjemců zpracovávat zprávy, které obdrží ve stejném kanálu zasílání zpráv. | -Spolehlivost - Optimalizace nákladů - Efektivita výkonu |
| Konsolidace výpočetních prostředků | Sloučení více úkolů nebo operací do jedné výpočetní jednotky. | - Optimalizace nákladů - Efektivita provozu - Efektivita výkonu |
| CQRS | Operace, které čtou data, od těch, které aktualizují data, oddělte pomocí různých rozhraní. | - Efektivita výkonu |
| Stampy nasazení | Nasaďte několik nezávislých kopií aplikačních komponent, včetně úložišť dat. | - Efektivita provozu - Efektivita výkonu |
| Event Sourcing | K zaznamenání celé řady událostí, které popisují akce prováděné s daty v doméně, použijte úložiště jen pro připojení. | -Spolehlivost - Efektivita výkonu |
| Externí úložiště konfigurace | Přesuňte informace o konfiguraci z balíčku nasazení aplikace do centralizovaného umístění. | - Efektivita provozu |
| Federovaná identita | Deleguje ověřování na externího zprostředkovatele identity. | -Spolehlivost -Bezpečnost - Efektivita výkonu |
| Agregace brány | Používá bránu k agregaci několika jednotlivých požadavků do jednoho. | -Spolehlivost -Bezpečnost - Efektivita provozu - Efektivita výkonu |
| Odlehčení brány | Přesměrovává zpracování sdílených nebo specializovaných funkcí služby na proxy brány. | -Spolehlivost -Bezpečnost - Optimalizace nákladů - Efektivita provozu - Efektivita výkonu |
| Směrování brány | Směrujte požadavky na více služeb pomocí jednoho koncového bodu. | -Spolehlivost - Efektivita provozu - Efektivita výkonu |
| geode | Nasaďte back-endové služby napříč geograficky distribuovanými uzly. Každý uzel může zpracovávat požadavky klientů z libovolné oblasti. | -Spolehlivost - Efektivita výkonu |
| Monitorování koncových bodů stavu | Implementuje v aplikaci funkční kontroly, ke kterým mají externí nástroje v pravidelných intervalech přístup prostřednictvím zveřejněných koncových bodů. | -Spolehlivost - Efektivita provozu - Efektivita výkonu |
| Indexová tabulka | Vytvářejte indexy přes pole v úložištích dat, na která se dotazy často odkazují. | -Spolehlivost - Efektivita výkonu |
| Volba vedoucího | Koordinujte akce v distribuované aplikaci tak, že jako vedoucí zvolíte jednu instanci. Vedoucí spravuje kolekci spolupracujících instancí úloh. | -Spolehlivost |
| Materializované zobrazení | Vygenerujte předem vyplněná zobrazení dat v jednom nebo více úložištích dat, pokud jsou data špatně naformátovaná pro požadované operace dotazu. | - Efektivita výkonu |
| Zasílání zpráv most | Vytvořte zprostředkující, který umožňuje komunikaci mezi systémy zasílání zpráv, které nejsou jinak nekompatibilní. | - Optimalizace nákladů - Efektivita provozu |
| Kanály a filtry | Rozdělí úlohu, která provádí komplexní zpracování, do řady samostatných prvků, které je možné využít znovu. | -Spolehlivost |
| Prioritní fronta | Určete prioritu požadavků odeslaných službám, aby se žádosti s vyšší prioritou zpracovávaly rychleji. | -Spolehlivost - Efektivita výkonu |
| Vydavatel/odběratel | Umožňuje aplikaci oznamovat události více příjemcům asynchronně bez párování odesílatelů s příjemci. | -Spolehlivost -Bezpečnost - Optimalizace nákladů - Efektivita provozu - Efektivita výkonu |
| karantény | Před tím, než je úloha spotřebuje, se ujistěte, že externí prostředky splňují úroveň kvality odsouhlasené týmem. | -Bezpečnost - Efektivita provozu |
| Vyrovnávání zátěže založené na frontě | Použijte frontu, která vytvoří vyrovnávací paměť mezi úlohou a službou, aby se přerušované vysoké zatížení vyrovnalo. | -Spolehlivost - Optimalizace nákladů - Efektivita výkonu |
| Omezování rychlosti | Vyhněte se chybám omezování nebo minimalizujte jejich výskyt tím, že řídíte spotřebu prostředků. | -Spolehlivost |
| Opakovat | Umožněte aplikacím zvládat očekávané dočasné chyby opakováním neúspěšných operací. | -Spolehlivost |
| Sága | Správa konzistence dat napříč mikroslužbami ve scénářích distribuovaných transakcí | -Spolehlivost |
| Scheduler Agent Supervisor | Koordinuje sadu akcí napříč distribuovanými službami a prostředky. | -Spolehlivost - Efektivita výkonu |
| Sekvenční konvoj | Zpracovat sadu souvisejících zpráv v definovaném pořadí bez blokování jiných skupin zpráv. | -Spolehlivost |
| Sharding (rozdělování dat na fragmenty) | Rozdělit úložiště dat do sady horizontálních oddílů nebo shardů. | -Spolehlivost - Optimalizace nákladů |
| Postranní vozík | Nasaďte komponenty do samostatného procesu nebo kontejneru, abyste zajistili izolaci a zapouzdření. | -Bezpečnost - Efektivita provozu |
| Hostování statického obsahu | Nasaďte statický obsah do cloudové služby úložiště pro přímé doručování klientů. | - Optimalizace nákladů |
| Strangler Fig | Přírůstkově migrovat starší systém postupným nahrazením částí funkcí novými aplikacemi a službami. | -Spolehlivost - Optimalizace nákladů - Efektivita provozu |
| Omezování | Řízení spotřeby prostředků z aplikací, tenantů nebo služeb | -Spolehlivost -Bezpečnost - Optimalizace nákladů - Efektivita výkonu |
| Osobní klíč | Pomocí tokenu nebo klíče můžete klientům poskytnout omezený, přímý přístup ke konkrétnímu prostředku nebo službě. | -Bezpečnost - Optimalizace nákladů - Efektivita výkonu |
Vzory orchestrace agentů AI
Předchozí vzory návrhu cloudu řeší běžné problémy v distribuovaných systémech, ale úlohy AI, které používají více autonomních agentů, vyžadují specializované koordinační přístupy. Tradiční vzory, jako je Scheduler Agent Supervisor nebo Choreografie, poskytují základní koncepty. Agenti umělé inteligence ale představují jedinečné výzvy, jako jsou nedeterministické výstupy, dynamické možnosti odůvodnění a potřeba inteligentních předání mezi specializovanými komponentami.
Úlohy AI, které obsahují více autonomních agentů, najdete v tématu Vzory orchestrace agentů AI. Tyto vzory doplňují vzory návrhu cloudu v tomto katalogu tím, že řeší specifické požadavky na koordinaci inteligentních, autonomních komponent, které spolupracují na plnění složitých výsledků.
Další kroky
Prohlédněte si vzory návrhu z pohledu pilíře Well-Architected Framework, jehož cílem je optimalizovat model.