Udostępnij za pośrednictwem


Mikrousługi .NET: architektura konteneryzowanych aplikacji .NET

Okładka książki

EDITION v7.0 — zaktualizowano do wersji ASP.NET Core 7.0

Zapoznaj się z dziennikiem zmian i kartą, aby uzyskać informacje o aktualizacjach książek i wkładach społeczności.

Ten przewodnik stanowi wprowadzenie do tworzenia aplikacji opartych na mikrousługach i zarządzania nimi przy użyciu kontenerów. Omówiono w nim metody projektowania i implementacji architektury przy użyciu kontenerów platformy .NET i platformy Docker.

Aby ułatwić rozpoczęcie pracy, przewodnik koncentruje się na referencyjnej aplikacji konteneryzowanej i opartej na mikrousługach, którą można eksplorować. Aplikacja referencyjna jest dostępna w repozytorium GitHub eShopOnContainers .

Wprowadzenie

Przedsiębiorstwa coraz częściej zdają sobie sprawę z oszczędności kosztów, rozwiązywania problemów z wdrażaniem i ulepszania operacji devOps i produkcyjnych przy użyciu kontenerów. Firma Microsoft publikuje innowacje kontenerów dla systemów Windows i Linux, tworząc produkty takie jak Azure Kubernetes Service i Azure Service Fabric oraz współpracując z liderami branżowymi, takimi jak Docker, Mesosphere i Kubernetes. Te produkty dostarczają rozwiązania kontenerów, które pomagają firmom tworzyć i wdrażać aplikacje z szybkością chmury i skalowaniem, niezależnie od wybranej platformy lub narzędzi.

Platforma Docker staje się de facto standardem w branży kontenerów, obsługiwanym przez najważniejszych dostawców w ekosystemach systemów Windows i Linux. (Firma Microsoft jest jednym z głównych dostawców usług w chmurze obsługujących platformę Docker). W przyszłości platforma Docker prawdopodobnie będzie wszechobecna w każdym centrum danych w chmurze lub lokalnie.

Ponadto architektura mikrousług pojawia się jako ważne podejście do rozproszonych aplikacji o znaczeniu krytycznym. W architekturze opartej na mikrousłudze aplikacja jest oparta na kolekcji usług, które można opracowywać, testować, wdrażać i wersjonować niezależnie.

O tym przewodniku

Ten przewodnik stanowi wprowadzenie do tworzenia aplikacji opartych na mikrousługach i zarządzania nimi przy użyciu kontenerów. Omówiono w nim metody projektowania i implementacji architektury przy użyciu kontenerów platformy .NET i platformy Docker. Aby ułatwić rozpoczęcie pracy z kontenerami i mikrousługami, przewodnik koncentruje się na referencyjnej aplikacji konteneryzowanej i opartej na mikrousługach, którą można eksplorować. Przykładowa aplikacja jest dostępna w repozytorium GitHub eShopOnContainers .

Ten przewodnik zawiera podstawowe wskazówki dotyczące programowania i architektury przede wszystkim na poziomie środowiska deweloperskiego, koncentrując się na dwóch technologiach: Docker i .NET. Naszym zamiarem jest przeczytanie tego przewodnika podczas myślenia o projekcie aplikacji bez skupienia się na infrastrukturze (w chmurze lub środowisku lokalnym) środowiska produkcyjnego. Później podejmiesz decyzje dotyczące infrastruktury podczas tworzenia aplikacji gotowych do produkcji. W związku z tym ten przewodnik ma być niezależny od infrastruktury i bardziej skoncentrowany na środowisku deweloperów.

Po zapoznaniu się z tym przewodnikiem następnym krokiem będzie zapoznanie się z mikrousługami gotowymi do produkcji na platformie Microsoft Azure.

wersja

Ten przewodnik został zmieniony w celu pokrycia wersji .NET 7 wraz z wieloma dodatkowymi aktualizacjami związanymi z tą samą "falą" technologii (czyli platformą Azure i dodatkowymi technologiami innych firm) w czasie z wydaniem platformy .NET 7.

Uwaga / Notatka

Nowa wersja tego podręcznika elektronicznego jest tworzona dla platformy .NET 8 i nowego przykładu eShop .

Co ten przewodnik nie obejmuje

Ten przewodnik nie koncentruje się na cyklu życia aplikacji, metodyce DevOps, potokach ciągłej integracji/ciągłego wdrażania ani pracy zespołowej. Uzupełniający przewodnik Dotyczący konteneryzowanego cyklu życia aplikacji platformy Docker za pomocą platformy i narzędzi firmy Microsoft koncentruje się na tym temacie. Bieżący przewodnik nie zawiera również szczegółowych informacji dotyczących implementacji infrastruktury platformy Azure, takich jak informacje dotyczące określonych koordynatorów.

Dodatkowe zasoby

  • Konteneryzowany cykl życia aplikacji platformy Docker za pomocą platformy i narzędzi firmy Microsoft (można pobrać książkę elektroniczną)
    https://aka.ms/dockerlifecycleebook

Kto powinien korzystać z tego przewodnika

Napisaliśmy ten przewodnik dla deweloperów i architektów rozwiązań, którzy są nowi w tworzeniu aplikacji opartych na platformie Docker i architekturze opartej na mikrousługach. Ten przewodnik jest przeznaczony dla Ciebie, jeśli chcesz dowiedzieć się, jak projektować, projektować i implementować aplikacje sprawdzające koncepcje przy użyciu technologii deweloperskich firmy Microsoft (ze szczególnym uwzględnieniem platformy .NET) i kontenerów platformy Docker.

Ten przewodnik jest również przydatny, jeśli jesteś twórcą decyzji technicznych, takim jak architekt przedsiębiorstwa, który chce przeglądu architektury i technologii przed podjęciem decyzji o tym, jakie podejście należy wybrać dla nowych i nowoczesnych aplikacji rozproszonych.

Jak korzystać z tego przewodnika

W pierwszej części tego przewodnika przedstawiono kontenery platformy Docker, omówiono sposób wybierania między platformą .NET 7 a programem .NET Framework jako strukturą programistycznym i zawiera omówienie mikrousług. Ta zawartość jest przeznaczony dla architektów i osób podejmujących decyzje techniczne, którzy chcą omówienia, ale nie muszą skupiać się na szczegółach implementacji kodu.

Druga część przewodnika rozpoczyna się od sekcji Proces tworzenia aplikacji opartych na platformie Docker . Koncentruje się on na wzorcach programowania i mikrousług na potrzeby implementowania aplikacji przy użyciu platformy .NET i platformy Docker. Ta sekcja będzie najbardziej interesująca deweloperów i architektów, którzy chcą skupić się na kodzie i na wzorcach i szczegółach implementacji.

Aplikacja eShopOnContainers to aplikacja referencyjna typu open source dla platformy .NET i mikrousług, która została zaprojektowana do wdrożenia przy użyciu kontenerów platformy Docker. Aplikacja składa się z wielu podsystemów, w tym kilku interfejsów użytkownika sklepu internetowego (aplikacja Web MVC, aplikacja SPA sieci web i natywna aplikacja mobilna). Obejmuje również mikrousługi zaplecza i kontenery dla wszystkich wymaganych operacji po stronie serwera.

Celem aplikacji jest prezentacja wzorców architektury. NIE JEST TO szablon PRODUCTION-READY do uruchamiania rzeczywistych aplikacji. W rzeczywistości aplikacja jest w stanie stałej wersji beta, ponieważ jest również używana do testowania technologii, które mogą być interesujące, w miarę ich pojawiania się.

Wyślij swoją opinię

Ta książka i powiązane przykłady stale ewoluują, więc twoja opinia jest mile widziana. Jeśli masz komentarze dotyczące tego, jak można ulepszyć tę książkę i czytasz ją na stronie <learn.microsoft.com>, użyj sekcji Opinie w dolnej części strony.

sekcja Opinii we wszystkich stopkach artykułów dokumentacji platformy .NET.

Jak pokazano w poprzedniej sekcji przechwytywania ekranu, sekcja opinii umożliwia przesyłanie opinii dla:

  • ten produkt: za pomocą formularza opinii o produkcie .NET.
  • ta strona: korzystając z szablonu zgłoszenia na GitHubie ze szczegółami strony.

Jeśli czytasz tę książkę jako plik PDF, możesz przesłać opinię, tworząc nowe zgłoszenie na GitHubie: .NET Docs: GitHub zgłoszenie lub korzystając z szablonu zgłoszenia GitHub: e-booki Architektury .NET.

Kredyty

Współautorzy:

Cesar de la Torre, sr. PM, zespół produktu .NET, Microsoft Corp.

Bill Wagner, starszy deweloper zawartości, C+E, Microsoft Corp.

Mike Rousos, główny inżynier oprogramowania, zespół DevDiv CAT, Microsoft

Redaktorzy

Mike Pope

Steve Hoag

Uczestnicy i recenzenci:

Jeffrey Richter, Partner Software Eng, zespół platformy Azure, Microsoft

Jimmy Bogard, główny architekt w Headspring

Udi Dahan, założyciel i dyrektor generalny, Particular Software

Jimmy Nilsson, współzałożyciel i dyrektor generalny Factor10

Glenn Condron, starszy menedżer programu, zespół ASP.NET

Mark Fussell, główny lider PM, zespół usługi Azure Service Fabric, Microsoft

Diego Vega, PM Lead, Entity Framework team, Microsoft

Barry Dorrans, starszy menedżer programu zabezpieczeń

Rowan Miller, starszy menedżer programu, Microsoft

Ankit Asthana, główny menedżer PM, zespół platformy .NET, Microsoft

Scott Hunter, dyrektor partnera PM, zespół platformy .NET, Microsoft

Nish Anil, starszy menedżer programu, zespół .NET, Microsoft

Dylan Reisenberger, Architekt i Dev Lead w Polly

Steve "ardalis" Smith - Architekt oprogramowania i trener - Ardalis.com

Ian Cooper, architekt kodowania w Brighter

Unai Zorrilla, Architekt i Lider Zespołu Programistów w Plain Concepts

Eduard Tomas, Lider Zespołu Deweloperskiego w Plain Concepts

Ramon Tomas, deweloper w: Plain Concepts

David Sanz, deweloper w: Plain Concepts

Javier Valero, dyrektor operacyjny w: Grupo Solutio

Pierre Millet, starszy konsultant, Microsoft

Michael Friis, Menedżer produktu, Docker Inc

Charles Lowell, inżynier oprogramowania, zespół VS CAT, Microsoft

Miguel Veloso, inżynier tworzenia oprogramowania w: Plain Concepts

Sumit Ghosh, główny konsultant w: Neudesic

OPUBLIKOWANE PRZEZ

Dział deweloperów firmy Microsoft, zespoły produktów .NET i Visual Studio

Dział firmy Microsoft Corporation

One Microsoft Way

Redmond, Waszyngton 98052-6399

Copyright © 2023 firmy Microsoft Corporation

Wszelkie prawa zastrzeżone. Żadna część treści niniejszej książki nie może być odtwarzana ani przekazywana w jakiejkolwiek formie lub w żaden sposób bez pisemnego zezwolenia wydawcy.

Ta książka jest udostępniana "as-is" i wyraża poglądy i opinie autora. Poglądy, opinie i informacje wyrażone w tej książce, w tym adres URL i inne odwołania do stron internetowych, mogą ulec zmianie bez powiadomienia.

Niektóre przykłady przedstawione w niniejszym dokumencie znajdują się tylko na ilustracji i są fikcyjne. Żadne rzeczywiste skojarzenie lub połączenie nie jest zamierzone lub nie powinno być wnioskowane.

Microsoft i znaki towarowe wymienione w https://www.microsoft.com na stronie internetowej "Znaki towarowe" są znakami towarowymi grupy firm firmy Microsoft.

Mac i macOS są znakami towarowymi firmy Apple Inc.

Logo wieloryba Docker jest zastrzeżonym znakiem towarowym Docker, Inc. używane za zgodą.

Wszystkie inne znaki i logo są własnością ich odpowiednich właścicieli.