Heim  >  Artikel  >  Backend-Entwicklung  >  Analyse der Microsoft Microservice-Architektur eShopOnContainers

Analyse der Microsoft Microservice-Architektur eShopOnContainers

大家讲道理
大家讲道理Original
2017-05-28 11:39:064374Durchsuche

Um .Net Core zu fördern, stellt uns Microsoft eine Open-Source-Demo-eShopOnContainers zur Verfügung, die mit dem Net Core Framework entwickelt wurde und plattformübergreifend ist (fast abdeckt). alle Plattformen, Windows, Mac, Linux, Android, iOS), basierend auf Microservices Architektur, kleinen Anwendungen, die in Containern laufen, die nicht nur das Kreuz zeigen Die Plattformnatur von Net Core zeigt auch die Leistungsfähigkeit von VS2017, und alle Codes werden unter VS2017 entwickelt. Wie aus dem Namen hervorgeht, handelt es sich um eine elektronische Store-Anwendung, die auf einem Container läuft. Dank der plattformübergreifenden Natur von Docker können wir „einmal erstellen und überall ausführen“.

1. Einführung

eShopOnContainers ist eine einfache .Net Core-Anwendung, die auf einer Microservice-Architektur und einem Docker-Container basiert. Derzeit ist die Microservice-Architektur in vollem Gange, und auch die Docker-Technologie entwickelt sich zu diesem Zeitpunkt rasant. Obwohl diese Demo nicht vollständig auf die Produktionsumgebung angewendet werden kann, ist sie sehr gut Für uns Entwickler ist es sehr wichtig, eine solche Demo zu lernen, unabhängig davon, ob Sie geringfügige Änderungen vornehmen oder die Architektur neu entwickeln. Dies erinnert mich an das vorherige Lernen von BlogEngine.Net.

2. Architektur

Werfen wir einen Blick auf das Architekturdiagramm, das uns von Microsoft zur Verfügung gestellt wurde

Von links nach rechts sehen wir 2 Im gepunkteten Feld ist die linke Seite jede Clientanwendung und die rechte Seite die Webanwendung, die Microservice-Anwendung und die Datenbank, von denen angenommen wird, dass sie sich auf Docker befinden.

In der Demo hat Microsoft mehrere Dienste basierend auf unterschiedlichen Funktionen erstellt, und beim Entwerfen dieser Dienste hat Microsoft verschiedene Methoden verwendet, um sie zu implementieren, wie in der folgenden Abbildung dargestellt:

Die oben genannten vier Dienste werden von Microsoft in der Demo gezeigt. Sie können auch verschiedene Frameworks und verschiedene Datenbanken verwenden, um Ihren Microservice-Aufbau abzuschließen. Ich kann jede Sprache und jede Datenbank zum Aufbau meines Dienstes verwenden, unabhängig davon, welche Sprache oder welches System mein Anrufer verwendet.

3. Quellcode

Diese Architektur ist Open Source auf GitHub, Adresse: https://github.com/dotnet-architecture /eShopOnContainers

Wir können den Quellcode über Git klonen:

Wir sehen 3 SLN darin, es wird empfohlen, es mit vs2017 zu öffnen, wenn SieNach der Installation der Vollversion können Sie eShopOnContainers.sln öffnen, aber im Allgemeinen öffnen wir für Anfänger immer noch die Lösung eShopOnContainers-ServicesAndWebApps.sln.

Sie können sehen, dass Webapp und Service-App in der Lösung behandelt wurden, und unser Tutorial basiert auch auf dieser Lösung.

4. Notwendige Umgebung:

Ich habe bereits gesagt, dass unsere Anwendung plattformübergreifend ist und auf jedem Betriebssystem ausgeführt werden kann, das Docker unterstützt, aber wenn wir Debug entwickeln, Wir benötigen die entsprechende Umgebung zum Debuggen (natürlich können Sie auch iisexpress zum Debuggen verwenden)

1. 64bit Windows 10 Pro

2. Aktivieren Sie Hyper-V (Microsofts Virtualisierungsmaschine)

3. Installieren Sie Docker für Windows

Wenn wir eine Version vor Win10 haben, können wir Docker Toolbox zwar installieren, aber wir können VS2017 nicht für das Docker-Debugging verwenden Beim Ausführen habe ich beschlossen, meinen Computer auf Win10 zu aktualisieren, damit er besser angezeigt werden kann.

Wenn Sie unter dem vorherigen System debuggen und ausführen möchten, müssen Sie zusätzlich zur Installation von Docker Toolbox auch Folgendes installieren:

1, NodeJS

2. Bower

Docker für Windows verfügt über zwei Arten von Containern unter Win10 oder Server 2016, Linux-Container und Windows-Container. Hier müssen wir nur Linux-Container verwenden (Standard). Unser Tutorial gilt nur für Dienste und WebApp. Microsoft empfiehlt, den von Docker verwendeten Speicher auf 4096 MB (4 GB) und CPU 3 einzustellen. Wenn Sie die Vollversion (einschließlich mobilem Client) ausführen möchten, müssen Sie 16 GB Speicher für Dockere konfigurieren.

Mein persönlicher Vorschlag ist, dass Sie besser einen Computer für die Datenbank haben, andernfalls benötigt ein MSSQL-Linux-SQL-Docker 4G Speicher. Natürlich müssen Sie auch ein Redis erstellen .

Wenn wir lernen, müssen wir Docker nicht zum Debuggen verwenden. Es spielt keine Rolle, welche Methode Sie verwenden.

5. Lernschritte:

Diese Erklärungsreihe basiert auf dem ServicesAndWebApps.sln-Code. Wir werden zuerst von Microservices lernen und uns dann die Codestruktur des Webteils ansehen. Die ungefähre Reihenfolge lautet wie folgt:

1, Identitätsdienst

2, Katalogdienst

3, BestellungEring-Dienst

4, Korbservice

5. WebApp Mvc

6. WebSPA


Schreiben Sie am Ende :

Ich war vor einiger Zeit ziemlich beschäftigt, aber ich habe der Entwicklung von .Net Core große Aufmerksamkeit geschenkt. Auf der letzten Builder-Konferenz hat mich das atemberaubende Debüt von 2.0 völlig davon überzeugt, dass Microsoft keine Mühen scheuen wird .Net entwickeln, und es hat mich auch dazu gebracht, darauf zu warten, dass der .Net Developer-Frühling da ist, und ich möchte allen .Net-Entwicklern auf der Welt meinen Dank aussprechen. Wir haben 10 Jahre darauf gewartet.

Warum haben Sie sich für diese Architektur entschieden? Weil sie von großer Bedeutung für die Lehre ist. Darüber hinaus werden die Konzepte von Microservices und Docker immer beliebter hat das Microservice-Konzept noch nicht erreicht), es gibt viele Unannehmlichkeiten bei der Bereitstellung, Entwicklung, Wartung und Erweiterung, daher ist dieses Lernen für mich sehr wichtig.

Der erste Artikel ist etwas mehr Unsinn. Später werde ich den Code und die Architektur sowie Designmuster erklären. Zum Schluss hier noch ein Rendering

Das obige ist der detaillierte Inhalt vonAnalyse der Microsoft Microservice-Architektur eShopOnContainers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn