Dela via


Utforma en mikrotjänstarkitektur

Mikrotjänster är en populär arkitekturstil för att skapa molnprogram som förblir motståndskraftiga, skalar effektivt, distribuerar oberoende och utvecklas snabbt. För att leverera verkligt värde kräver mikrotjänster en annan metod för design och programutveckling.

Den här uppsättningen artiklar utforskar hur du skapar en arkitektur för mikrotjänster i Azure. Den innehåller följande vägledning:

  • Beräkningsalternativ för mikrotjänster: Utvärdera Azure-beräkningstjänster för mikrotjänster, inklusive Azure Kubernetes Service (AKS), Azure Container Apps och Azure Functions. Lär dig när du ska använda varje tjänst baserat på dina krav på skalbarhet, hanteringskostnader och distributionsmodeller.

  • Kommunikation mellan tjänster: Utforma effektiva kommunikationsmönster mellan mikrotjänster med synkrona och asynkrona metoder. Lär dig mer om REST-API:er, meddelandemönster, händelsedrivna arkitekturer och service mesh-tekniker för tillförlitlig kommunikation från tjänst till tjänst.

  • API-design: Skapa väldesignade API:er som stöder arkitekturprinciper för mikrotjänster. Lär dig strategier för API-versionshantering, felhanteringsmönster och hur du utformar API:er som främjar lös koppling och oberoende tjänstutveckling.

  • API-gatewayer: Implementera API-gatewayer för att hantera övergripande problem som autentisering, hastighetsbegränsning och routning av begäranden. Förstå hur gatewayer förenklar klientinteraktioner och tillhandahåller centraliserad principframtvingande i mikrotjänstekosystemet.

  • Dataöverväganden: Hantera datahanteringsutmaningar i mikrotjänstarkitekturer, inklusive mönster för datakonsekvens, distribuerade transaktioner och val av lämpliga datalager. Lär dig strategier för att upprätthålla dataintegritet över tjänstgränser.

  • Containerorkestrering: Distribuera och hantera containerbaserade mikrotjänster i stor skala med hjälp av containerorkestrerare. Förstå hur plattformar som Kubernetes automatiserar distribution, skalning, belastningsutjämning och hälsohantering för att upprätthålla önskat systemtillstånd i produktionsmiljöer.

  • Designmönster: Använd beprövade designmönster som är specifika för mikrotjänster, inklusive ambassadörsmönstret för avlastning av anslutningsuppgifter, skottmönstret för resursisolering och Strangler Fig-mönstret för inkrementell programrefaktorisering.

Förutsättningar

Innan du läser de här artiklarna börjar du med följande resurser:

Exempelarkitektur

Diagram som visar arkitekturen för en arbetsbelastning för drönarleverans.

Ladda ned en Visio-fil med den här arkitekturen.

Scenario

Fabrikam, Inc. skapar en tjänst för drönarleverans. Företaget hanterar en flotta av drönarflygplan. Företag registrerar sig för tjänsten och användare kan begära att en drönare hämtar gods för leverans. När en kund schemalägger en upphämtning tilldelar ett serverdelssystem en drönare och meddelar användaren om en uppskattad leveranstid. Under leveransen kan kunden spåra drönarens plats, inklusive en kontinuerligt uppdaterad uppskattad ankomsttid (ETA).

Den här lösningen fungerar bra för flyg- och flygplansindustrin.

Det här scenariot omfattar en ganska komplicerad domän. Vissa affärsproblem omfattar schemaläggning av drönare, spårningspaket, hantering av användarkonton och lagring och analys av historiska data. Fabrikam vill också komma ut på marknaden och sedan iterera snabbt för att lägga till nya funktioner och funktioner. Programmet måste fungera i molnskala med ett högt servicenivåmål (SLO). Fabrikam förväntar sig också att olika delar av systemet har mycket olika krav för datalagring och frågor. Baserat på överväganden väljer Fabrikam en mikrotjänstarkitektur för drönarleveransprogrammet.

Anmärkning

Mer information om hur du väljer mellan en arkitektur för mikrotjänster och andra arkitekturformat finns i arkitekturguiden för Azure-program.

Den här arkitekturen använder Kubernetes med AKS. Men många av de övergripande arkitektoniska besluten och utmaningarna gäller för alla containerorkestrerare.

Nästa steg