Utforma en mikrotjänstarkitektur
Mikrotjänster har blivit en populär arkitekturstil för att skapa molnprogram som är motståndskraftiga, mycket skalbara, kan distribueras separat och kan utvecklas snabbt. För att vara mer än bara ett buzzword kräver mikrotjänster dock en annan metod för att utforma och skapa program.
I den här uppsättningen artiklar utforskar vi hur du skapar en arkitektur för mikrotjänster i Azure. Ämnena omfattar:
- Beräkningsalternativ för mikrotjänster
- Kommunikation mellan tjänster
- API-design
- API-gatewayer
- Dataöverväganden
- Designmönster
Förutsättningar
Innan du läser de här artiklarna kan du börja med följande:
- Introduktion till mikrotjänstarkitekturer. Förstå fördelarna och utmaningarna med mikrotjänster och när du ska använda den här arkitekturstilen.
- Använda domänanalys för att modellera mikrotjänster. Lär dig en domändriven metod för modellering av mikrotjänster.
Referensimplementering
För att illustrera metodtips för en mikrotjänstarkitektur skapade vi en referensimplementering som vi kallar drone delivery-programmet. Den här implementeringen körs på Kubernetes med hjälp av Azure Kubernetes Service (AKS). Du hittar referensimplementeringen på GitHub.
Ladda ned en Visio-fil av den här arkitekturen.
Scenarium
Fabrikam, Inc. startar 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 en drönare för att hämta varor för leverans. När en kund schemalägger en hämtning tilldelar ett serverdelsystem en drönare och meddelar användaren en uppskattad leveranstid. Medan leveransen pågår kan kunden spåra drönarens plats med en kontinuerligt uppdaterad ETA.
Den här lösningen är idealisk för flyg- och flygplansindustrin.
Det här scenariot omfattar en ganska komplicerad domän. Några av affärsproblemen är schemaläggning av drönare, spårningspaket, hantering av användarkonton och lagring och analys av historiska data. Fabrikam vill dessutom snabbt komma ut på marknaden och sedan iterera snabbt och lägga till nya 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 kommer att ha mycket olika krav för datalagring och frågor. Alla dessa överväganden gör att Fabrikam väljer en mikrotjänstarkitektur för drone delivery-programmet.
Anmärkning
Om du vill ha hjälp med att välja mellan en arkitektur för mikrotjänster och andra arkitekturformat kan du läsa guiden för Azure-programarkitektur.
Vår referensimplementering använder Kubernetes med Azure Kubernetes Service (AKS). Många av de övergripande arkitektoniska besluten och utmaningarna gäller dock för alla containerorkestrerare.