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. | - Operativ spetskompetens – 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 skicklighet – 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 |
Event Sourcing | 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 - Operativ skicklighet – 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 - Operativ kompetens – Prestandaeffektivitet |
Nästa steg
Granska designmönstren utifrån den Well-Architected Framework-pelare som mönstret syftar till att optimera.