Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Arkitekter utformar arbetsbelastningar genom att integrera plattformstjänster, funktioner och kod för att uppfylla både funktionella och icke-funktionella krav. För att kunna utforma effektiva arbetsbelastningar måste du förstå dessa krav och välja topologier och metoder som hanterar utmaningarna med arbetsbelastningens begränsningar. Molndesignmönster ger lösningar på många vanliga utmaningar.
Systemdesignen är starkt beroende av etablerade designmönster. Du kan utforma infrastruktur, kod och distribuerade system med hjälp av en kombination av dessa mönster. Dessa mönster är avgörande för att skapa tillförlitliga, mycket säkra, kostnadsoptimerade, drifteffektiva och högpresterande program i molnet.
Följande molndesignmönster är teknikagnostiska, vilket gör dem lämpliga för alla distribuerade system. Du kan använda dessa mönster i Azure, andra molnplattformar, lokala installationer och hybridmiljöer.
Hur molndesignmönster förbättrar designprocessen
Molnarbetsbelastningar är sårbara för felaktigheter i distribuerad databehandling, vilket är vanliga men felaktiga antaganden om hur distribuerade system fungerar. Exempel på dessa felaktigheter är:
- Nätverket är tillförlitligt.
- Svarstiden är noll.
- Bandbredden är oändlig.
- Nätverket är säkert.
- Topologin ändras inte.
- Det finns en administratör.
- Versionshantering av komponenter är enkelt.
- Implementeringen av observerbarhet kan fördröjas.
Dessa missuppfattningar kan resultera i bristfälliga arbetsbelastningsdesigner. Designmönster eliminerar inte dessa missuppfattningar utan bidrar till att öka medvetenheten, tillhandahålla kompensationsstrategier och tillhandahålla åtgärder. Varje mönster för molndesign har kompromisser. Fokusera på varför du bör välja ett specifikt mönster i stället för hur du implementerar det.
Fundera på hur du använder dessa designmönster av branschstandard som grundläggande byggstenar för en välkonstruerad arbetsbelastningsdesign. Varje designmönster i Azure Well-Architected Framework representerar en eller flera av dess grundpelare. Vissa mönster kan medföra kompromisser som påverkar målen för andra pelare.
Mönsterkatalog
Varje mönster i den här katalogen beskriver det problem som det tar itu med, överväganden för att tillämpa mönstret och ett exempel baserat på Microsoft Azure-tjänster och -verktyg. Vissa mönster innehåller kodexempel eller kodfragment som visar hur du implementerar mönstret i Azure.
| Mönster | Sammanfattning | Well-Architected Ramverkets grundpelare | 
|---|---|---|
| Ambassadör | Skapa hjälpkomponenttjänster som skickar nätverksförfrågningar åt en konsumenttjänst eller ett konsumentprogram. | -Tillförlitlighet -Säkerhet | 
| Antikorruptionslager | Implementera en fasad eller adapterlager mellan ett modernt program och ett äldre system. | - Operational Excellence | 
| Asynkron förfrågan-svar | Frikoppla serverdelens bearbetning från en front-end värd. Det här mönstret är användbart när serverdelsbearbetningen måste vara asynkron, men klientdelen kräver ett tydligt och snabbt svar. | – Prestandaeffektivitet | 
| Backend för frontend | Skapa separata serverdelstjänster för specifika klientdelsprogram eller gränssnitt. | -Tillförlitlighet -Säkerhet – Prestandaeffektivitet | 
| Skiljevägg | Isolera element i ett program i pooler så att de andra fortsätter att fungera om det ena misslyckas. | -Tillförlitlighet -Säkerhet – Prestandaeffektivitet | 
| Cache-Aside | Läs in data på begäran till en cache från ett datalager. | -Tillförlitlighet – Prestandaeffektivitet | 
| Koreografi | Låt enskilda tjänster bestämma när och hur en affärsåtgärd bearbetas, i stället för beroende på en central orkestrator. | - Operational Excellence – Prestandaeffektivitet | 
| Kretsbrytare | Hantera fel som kan ta en varierande tid att åtgärda när ett program ansluter till en fjärrtjänst eller resurs. | -Tillförlitlighet – Prestandaeffektivitet | 
| Kvittokontroll | Dela upp ett stort meddelande till en anspråkskontroll och en nyttolast för att undvika att överbelasta en meddelandebuss. | -Tillförlitlighet -Säkerhet – Kostnadsoptimering – Prestandaeffektivitet | 
| Kompenserande transaktion | Ångra det arbete som utförs av en sekvens med steg som tillsammans bildar en slutligen konsekvent operation. | -Tillförlitlighet | 
| Konkurrerande konsumenter | Gör det möjligt för flera samtidiga konsumenter att bearbeta meddelanden som de tar emot på samma meddelandekanal. | -Tillförlitlighet – Kostnadsoptimering – Prestandaeffektivitet | 
| Konsolidering av beräkningsresurser | Konsolidera flera uppgifter eller åtgärder till en enda beräkningsenhet. | – Kostnadsoptimering - Operativ spetskompetens – Prestandaeffektivitet | 
| CQRS | Separera åtgärder som läser data från dem som uppdaterar data med hjälp av distinkta gränssnitt. | – Prestandaeffektivitet | 
| Distributionsstämplar | Distribuera flera oberoende kopior av programkomponenter, inklusive datalager. | - Operational Excellence – Prestandaeffektivitet | 
| Händelsekällor | Använd ett tilläggslager för att registrera en fullständig serie händelser som beskriver åtgärder som vidtas på data i en domän. | -Tillförlitlighet – Prestandaeffektivitet | 
| Externt konfigurationslager | Flytta konfigurationsinformation från ett programdistributionspaket till en central plats. | - Operational Excellence | 
| Federerade identiteter | Delegera autentiseringen till en extern identitetsleverantör. | -Tillförlitlighet -Säkerhet – Prestandaeffektivitet | 
| Gateway-aggregering | Använd en gateway för att slå samman flera enskilda förfrågningar till en enda begäran. | -Tillförlitlighet -Säkerhet - Operativ Förträfflighet – Prestandaeffektivitet | 
| Gateway-avlastning | Avlasta delade eller specialiserade tjänstfunktioner till en gateway-proxy. | -Tillförlitlighet -Säkerhet – Kostnadsoptimering - Operational Excellence – Prestandaeffektivitet | 
| Gateway-routning | Dirigera begäranden till flera tjänster med hjälp av en enda slutpunkt. | -Tillförlitlighet - Operational Excellence – Prestandaeffektivitet | 
| Geode | Distribuera serverdelstjänster över geografiskt distribuerade noder. Varje nod kan hantera klientbegäranden från valfri region. | -Tillförlitlighet – Prestandaeffektivitet | 
| Övervakning av slutpunktshälsa | Implementera funktionskontroller i ett program som externa verktyg kan komma åt via exponerade slutpunkter med jämna mellanrum. | -Tillförlitlighet - Operational Excellence – Prestandaeffektivitet | 
| Indextabell | Skapa index över fälten i datalager som ofta efterfrågas. | -Tillförlitlighet – Prestandaeffektivitet | 
| Val av ledare | Samordna åtgärder i ett distribuerat program genom att välja en instans som ledare. Ledaren hanterar en samling samarbetande uppgiftsinstanser. | -Tillförlitlighet | 
| Materialiserad vy | Generera förifyllda vyer över data i ett eller flera datalager när data är dåligt formaterade för nödvändiga frågeåtgärder. | – Prestandaeffektivitet | 
| Meddelandebrygga | Skapa en mellanhand för att möjliggöra kommunikation mellan meddelandesystem som annars är inkompatibla. | – Kostnadsoptimering - Operational Excellence | 
| Rör och filter | Dela upp en aktivitet som utför komplex bearbetningen i ett antal olika element som kan återanvändas. | -Tillförlitlighet | 
| Prioritetskö | Prioritera begäranden som skickas till tjänster så att begäranden med högre prioritet bearbetas snabbare. | -Tillförlitlighet – Prestandaeffektivitet | 
| Utgivare/prenumerant | Aktivera ett program för att meddela händelser till flera konsumenter asynkront, utan att koppla avsändare till mottagare. | -Tillförlitlighet -Säkerhet – Kostnadsoptimering - Operational Excellence – Prestandaeffektivitet | 
| karantän | Se till att externa tillgångar uppfyller en teamavtalad kvalitetsnivå innan arbetsbelastningen förbrukar dem. | -Säkerhet - Operational Excellence | 
| Köbaserad belastningsutjämning | Använd en kö som skapar en buffert mellan en uppgift och en tjänst för att jämna ut tillfälliga tunga belastningar. | -Tillförlitlighet – Kostnadsoptimering – Prestandaeffektivitet | 
| Hastighetsbegränsning | Undvik eller minimera begränsningsproblem genom att kontrollera förbrukningen av resurser. | -Tillförlitlighet | 
| Försök igen | Gör det möjligt för program att hantera förväntade tillfälliga fel genom att försöka utföra misslyckade åtgärder igen. | -Tillförlitlighet | 
| Saga | Hantera datakonsekvens mellan mikrotjänster i distribuerade transaktionsscenarier. | -Tillförlitlighet | 
| Scheduler-agentövervakare | Samordna en uppsättning åtgärder mellan distribuerade tjänster och resurser. | -Tillförlitlighet – Prestandaeffektivitet | 
| Sekventiell konvoj | Bearbeta en uppsättning relaterade meddelanden i en definierad ordning utan att blockera andra meddelandegrupper. | -Tillförlitlighet | 
| Horisontell partitionering | Dela upp ett datalager i en uppsättning horisontella partitioner eller delar. | -Tillförlitlighet – Kostnadsoptimering | 
| Sidovagn | Distribuera komponenter till en separat process eller container för att tillhandahålla isolering och inkapsling. | -Säkerhet - Operational Excellence | 
| Hosting av statiskt innehåll | Distribuera statiskt innehåll till en molnbaserad lagringstjänst för direkt klientleverans. | – Kostnadsoptimering | 
| Strangler-figur | Migrera ett äldre system stegvis genom att gradvis ersätta funktioner med nya program och tjänster. | -Tillförlitlighet – Kostnadsoptimering - Operativ Förträfflighet | 
| Kontrollera förbrukningen av resurser från program, klientorganisationer eller tjänster. | -Tillförlitlighet -Säkerhet – Kostnadsoptimering – Prestandaeffektivitet | |
| Valet-nyckel | Använd en token eller nyckel för att ge klienter begränsad, direkt åtkomst till en specifik resurs eller tjänst. | -Säkerhet – Kostnadsoptimering – Prestandaeffektivitet | 
AI-agentorkestreringsmönster
De föregående molndesignmönstren hanterar vanliga utmaningar i distribuerade system, men AI-arbetsbelastningar som använder flera autonoma agenter kräver specialiserade samordningsmetoder. Traditionella mönster som Scheduler Agent Supervisor eller Choreography ger grundläggande begrepp. AI-agenter introducerar dock unika utmaningar som icke-terministiska utdata, dynamiska resonemangsfunktioner och behovet av intelligenta överlämningar mellan specialiserade komponenter.
Information om AI-arbetsbelastningar som innehåller flera autonoma agenter finns i AI-agentorkestreringsmönster. Dessa mönster kompletterar molndesignmönstren i den här katalogen genom att uppfylla de specifika samordningskraven för intelligenta, autonoma komponenter som arbetar tillsammans för att uppnå komplexa resultat.
Nästa steg
Granska designmönstren utifrån den Well-Architected Framework-pelare som mönstret syftar till att optimera.