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.
EDITION v7.0 – Uppdaterad till ASP.NET Core 7.0
Se changelog för bokuppdateringar och bidrag från communityn.
Den här guiden är en introduktion till att utveckla mikrotjänstbaserade program och hantera dem med hjälp av containrar. Den beskriver arkitekturdesign och implementeringsmetoder med hjälp av .NET- och Docker-containrar.
För att göra det enklare att komma igång fokuserar guiden på en referenscontainerbaserad och mikrotjänstbaserad app som du kan utforska. Referensprogrammet finns på github-lagringsplatsen eShopOnContainers .
Åtgärdslänkar
Den här e-boken finns också i PDF-format (endast engelsk version) Ladda ned
Klona/förgrena referensprogrammet eShopOnContainers på GitHub
Titta på introduktionsvideon
Lär känna mikrotjänstarkitekturen direkt
Inledning
Företag inser i allt högre grad kostnadsbesparingar, löser distributionsproblem och förbättrar DevOps och produktionsåtgärder med hjälp av containrar. Microsoft har släppt containerinnovationer för Windows och Linux genom att skapa produkter som Azure Kubernetes Service och Azure Service Fabric, och genom att samarbeta med branschledare som Docker, Mesosphere och Kubernetes. Dessa produkter levererar containerlösningar som hjälper företag att skapa och distribuera program i molnhastighet och skala, oavsett val av plattform eller verktyg.
Docker håller på att bli de facto-standarden i containerindustrin, med stöd av de viktigaste leverantörerna i Windows- och Linux-ekosystemen. (Microsoft är en av de viktigaste molnleverantörerna som stöder Docker). I framtiden kommer Docker förmodligen att vara allestädes närvarande i alla datacenter i molnet eller lokalt.
Dessutom utvecklas mikrotjänstarkitekturen som en viktig metod för distribuerade verksamhetskritiska program. I en mikrotjänstbaserad arkitektur bygger programmet på en samling tjänster som kan utvecklas, testas, distribueras och versionshanteras oberoende av varandra.
Om den här guiden
Den här guiden är en introduktion till att utveckla mikrotjänstbaserade program och hantera dem med hjälp av containrar. Den beskriver arkitekturdesign och implementeringsmetoder med hjälp av .NET- och Docker-containrar. För att göra det enklare att komma igång med containrar och mikrotjänster fokuserar guiden på ett referenscontainerbaserat och mikrotjänstbaserat program som du kan utforska. Exempelprogrammet är tillgängligt på github-lagringsplatsen eShopOnContainers .
Den här guiden ger grundläggande utvecklings- och arkitekturvägledning främst på utvecklingsmiljönivå med fokus på två tekniker: Docker och .NET. Vår avsikt är att du läser den här guiden när du tänker på din programdesign utan att fokusera på infrastrukturen (molnet eller lokalt) i produktionsmiljön. Du kommer att fatta beslut om infrastrukturen senare när du skapar dina produktionsklara program. Därför är den här guiden avsedd att vara infrastrukturagnostisk och mer utvecklingsmiljöcentrerad.
När du har gått igenom den här guiden är nästa steg att lära dig mer om produktionsklara mikrotjänster i Microsoft Azure.
Utgåva
Den här guiden har reviderats för att täcka .NET 7-versionen tillsammans med många ytterligare uppdateringar relaterade till samma "våg" av tekniker (dvs. Azure och ytterligare teknik från tredje part) som sammanfaller i tid med .NET 7-versionen.
Anmärkning
En ny version av den här eBook skapas för .NET 8 och det nya eShop-exemplet .
Vad den här guiden inte omfattar
Den här guiden fokuserar inte på programmets livscykel, DevOps, CI/CD-pipelines eller teamarbete. Den kompletterande guiden Containerized Docker Application Lifecycle med Microsoft Platform and Tools fokuserar på det ämnet. Den aktuella guiden innehåller inte heller implementeringsinformation om Azure-infrastrukturen, till exempel information om specifika orkestratorer.
Ytterligare resurser
-
Livscykel för Docker-program i container med Microsoftplattform och -verktyg (nedladdningsbar e-bok)
https://aka.ms/dockerlifecycleebook
Vem ska använda den här guiden?
Vi skrev den här guiden för utvecklare och lösningsarkitekter som är nya för Docker-baserad programutveckling och mikrotjänstbaserad arkitektur. Den här guiden är till för dig om du vill lära dig hur du utformar, utformar och implementerar koncepttestprogram med Microsofts utvecklingstekniker (med särskilt fokus på .NET) och med Docker-containrar.
Den här guiden är också användbar om du är teknisk beslutsfattare, till exempel en företagsarkitekt, som vill ha en arkitektur- och tekniköversikt innan du bestämmer dig för vilken metod du ska välja för nya och moderna distribuerade program.
Så här använder du den här guiden
Den första delen av den här guiden introducerar Docker-containrar, diskuterar hur du väljer mellan .NET 7 och .NET Framework som ett utvecklingsramverk och ger en översikt över mikrotjänster. Det här innehållet är till för arkitekter och tekniska beslutsfattare som vill ha en översikt men inte behöver fokusera på information om kodimplementering.
Den andra delen av guiden börjar med avsnittet Utvecklingsprocess för Docker-baserade program . Den fokuserar på utvecklings- och mikrotjänstmönster för att implementera program med hjälp av .NET och Docker. Det här avsnittet är av största intresse för utvecklare och arkitekter som vill fokusera på kod och på mönster och implementeringsinformation.
Relaterad mikrotjänst och containerbaserad referensapp: eShopOnContainers
eShopOnContainers-programmet är en referensapp med öppen källkod för .NET och mikrotjänster som har utformats för att distribueras med Docker-containrar. Programmet består av flera undersystem, inklusive flera klientdelar för användargränssnittet för e-butik (en Web MVC-app, ett webb-SPA och en intern mobilapp). Den innehåller även bakgrundens mikrotjänster och containrar för alla nödvändiga serveroperationer.
Syftet med programmet är att visa arkitekturmönster. Det är inte en PRODUCTION-READY MALL för att starta verkliga program. I själva verket är programmet i ett permanent betatillstånd, eftersom det också används för att testa nya potentiellt intressanta tekniker när de visas.
Skicka feedback
Den här boken och relaterade exempel utvecklas ständigt, så din feedback välkomnas. Om du har synpunkter på hur denna bok kan förbättras och du läser denna bok på <learn.microsoft.com>, kan du använda avsnittet Feedback längst ned på sidan.
Som du ser i föregående skärmdump kan du i feedbackavsnittet skicka feedback för:
- Den här produkten: med hjälp av feedbackformuläret för .NET-produkter.
- Den här sidan: med hjälp av en GitHub-ärendemall med sidinformationen.
Om du läser den här boken som pdf kan du skicka feedback genom att skapa en ny .NET Docs: GitHub-problem eller med hjälp av .NET Architecture eBooks: GitHub-ärendemall.
Krediter
Medförfattare:
Cesar de la Torre, Sr. PM, .NET-produktteamet, Microsoft Corp.
Bill Wagner, Sr. Content Developer, C+E, Microsoft Corp.
Mike Rousos, huvudprogramtekniker, DevDiv CAT-teamet, Microsoft
Redaktörer:
Mike Pope
Steve Hoag
Deltagare och granskare:
Jeffrey Richter, Partner Software Eng, Azure-teamet, Microsoft
Jimmy Bogard, chefsarkitekt på Headspring
Udi Dahan, grundare och VD, särskild programvara
Jimmy Nilsson, medgrundare och VD för Factor10
Glenn Condron, Senior programchef, den ASP.NET-team
Mark Fussell, Principal PM Lead, Azure Service Fabric-teamet, Microsoft
Diego Vega, PM Lead, Entity Framework-teamet, Microsoft
Barry Dorrans, Sr. Security Program Manager
Rowan Miller, Sr. Program Manager, Microsoft
Ankit Asthana, Principal PM Manager, .NET team, Microsoft
Scott Hunter, partnerchef för programhantering, .NET-teamet, Microsoft
Nish Anil, Sr. Program Manager, .NET team, Microsoft
Dylan Reisenberger, arkitekt och dev lead på Polly
Steve "ardalis" Smith - Programvaruarkitekt och tränare - Ardalis.com
Ian Cooper, kodarkitekt på Brighter
Unai Zorrilla, Arkitekt och Utvecklingschef på Plain Concepts
Eduard Tomas, Dev Lead på Plain Concepts
Ramon Tomas, utvecklare på Plain Concepts
David Sanz, utvecklare på Plain Concepts
Javier Valero, Chief Operating Officer på Grupo Solutio
Pierre Millet, Sr. Consultant, Microsoft
Michael Friis, Produktchef, Docker Inc
Charles Lowell, programvarutekniker, VS CAT-team, Microsoft
Miguel Veloso, software development engineer på Plain Concepts
Sumit Ghosh, principal consultant på Neudesic
Upphovsrätt
PUBLICERAD AV
Microsoft Developer Division, .NET och Visual Studio produktteam
En division av Microsoft Corporation
One Microsoft Way
Redmond, Washington 98052-6399
Copyright © 2023 av Microsoft Corporation
Alla rättigheter reserverade. Ingen del av innehållet i denna bok får reproduceras eller överföras i någon form eller på något sätt utan skriftligt tillstånd från utgivaren.
Denna bok levereras "as-is" och uttrycker författarens åsikter och synpunkter. Åsikterna, åsikterna och informationen som uttrycks i den här boken, inklusive URL:en och andra internetwebbplatsreferenser, kan ändras utan förvarning.
Vissa exempel som visas häri tillhandahålls endast som illustration och är fiktiva. Ingen verklig koppling eller anslutning är avsedd eller bör härledas.
Microsoft och de varumärken som anges på https://www.microsoft.com på webbsidan "Varumärken" är varumärken som tillhör Microsoft-företagsgruppen.
Mac och macOS är varumärken som tillhör Apple Inc.
Docker whale-logotypen är ett registrerat varumärke som tillhör Docker, Inc. Används av behörighet.
Alla andra märken och logotyper tillhör respektive ägare.