Maison  >  Article  >  développement back-end  >  Analyse de l'architecture des microservices Microsoft eShopOnContainers

Analyse de l'architecture des microservices Microsoft eShopOnContainers

大家讲道理
大家讲道理original
2017-05-28 11:39:064365parcourir

Afin de promouvoir .Net Core, Microsoft nous propose une démo open source-eShopOnContainers, qui est développée à l'aide du framework Net Core et est multiplateforme (couvrant presque toutes plateformes , windows, mac, linux, android, ios), basées sur des microservices architecture, petites applications fonctionnant dans des conteneurs, qui ne se contentent pas de montrer la croix. La nature de plate-forme de Net Core démontre également la puissance de VS2017. Tous les codes sont développés sous VS2017. Comme son nom l'indique, il s'agit d'une application de boutique électronique fonctionnant sur un conteneur. Grâce à la nature multiplateforme de Docker, nous pouvons « construire une fois, exécuter n'importe où ».

1. Introduction

eShopOnContainers est une application .Net Core simple basée sur une architecture de microservices et un conteneur Docker. À l'heure actuelle, l'architecture des microservices bat son plein et la technologie Docker se développe également rapidement. Microsoft a lancé cette démo, et son intention peut être imaginée. Bien que cette démo ne puisse pas être pleinement appliquée à l'environnement de production, elle est très bonne. pour nous, les développeurs, que vous apportiez de légères modifications ou que vous utilisiez l'architecture pour re-développer, il est très nécessaire d'apprendre une telle démo, ce qui me rappelle l'apprentissage de BlogEngine.Net auparavant.

2. Architecture

Jetons un coup d'œil au schéma d'architecture qui nous a été fourni par Microsoft

De gauche à droite, nous voyons 2. Dans la zone en pointillés, le côté gauche correspond à chaque application client et le côté droit correspond à l'application Web, à l'application de microservice et à la base de données supposées se trouver sur Docker.

Dans la démo, Microsoft a créé plusieurs services basés sur différentes fonctions, et lors de la conception de ces services, Microsoft a utilisé différentes méthodes pour les implémenter, comme le montre la figure ci-dessous :

Ci-dessus sont les quatre services affichés par Microsoft dans la démo. Vous pouvez également utiliser différents frameworks et différentes bases de données pour compléter la construction de vos microservices. Je peux utiliser n’importe quelle langue et n’importe quelle base de données pour créer mon service, quelle que soit la langue ou le système utilisé par mon appelant.

3. Code source

Cette architecture est open source sur Github, adresse : https://github.com/dotnet-architecture /eShopOnContainers

Nous pouvons cloner le code source via git :

Nous voyons 3 sln à l'intérieur, il est recommandé de l'ouvrir avec vs2017, si vousAprès avoir installé la version complète, vous pouvez ouvrir eShopOnContainers.sln, mais généralement pour les débutants, on ouvre toujours la solution eShopOnContainers-ServicesAndWebApps.sln.

Vous pouvez voir que l'application Web et l'application de service ont été couvertes dans la solution, et notre tutoriel est également basé sur cette solution.

4. Environnement nécessaire :

J'ai déjà dit que notre application est multiplateforme et peut fonctionner sur n'importe quel système d'exploitation prenant en charge Docker, mais lorsque nous développons debug, nous avons besoin de l'environnement correspondant pour déboguer (bien sûr, vous pouvez également utiliser iisexpress pour le débogage)

1. Windows 10 Pro 64 bits

2 Allumez Hyper-V (la machine de virtualisation de Microsoft)

3. Installez Docker

pour Windows

Si nous sommes une version antérieure à win10, bien que nous puissions installer Docker Toolbox, nous ne pouvons pas utiliser VS2017 pour le débogage de Docker. lors de l'exécution. Pour ce tutoriel, j'ai décidé de mettre à niveau mon ordinateur vers Win10 afin qu'il puisse mieux s'afficher.

Si vous souhaitez déboguer et exécuter sous le système précédent, en plus d'installer Docker Toolbox, vous devez également installer :

1, Node

JS

2. Bower

Docker pour Windows a deux types de conteneurs sur win10 ou serveur 2016, le conteneur Linux et le conteneur Windows. Ici, nous devons uniquement utiliser le conteneur Linux (par défaut). Notre didacticiel concerne uniquement les services et WebApp. Microsoft recommande de définir la mémoire utilisée par Docker sur 4096 Mo (4 Go) et le processeur 3. Si vous souhaitez exécuter la version complète (y compris le client mobile), vous devez configurer 16 Go de mémoire pour Dockere.

Ma suggestion personnelle est qu'il est préférable d'avoir une machine dédiée à la base de données, sinon un docker mssql-linux-sql nécessite 4 Go de mémoire. Inutile de dire que vous devez également créer un

redis. .

Lorsque nous apprenons, nous n'avons pas besoin d'utiliser Docker pour le débogage. Vous pouvez également utiliser iis express. Peu importe la méthode que vous utilisez, l'important est d'apprendre.

5. Étapes d'apprentissage :

Cette série d'explications est basée sur le code ServicesAndWebApps.sln. Nous apprendrons d'abord des microservices, puis examinerons la structure du code du composant WebPart. L'ordre approximatif est le suivant :

1, Service d'identité

2, Service de catalogue

3, CommandeService de commande

4, Service de panier

5. WebApp Mvc

6.WebSPA


Écrivez à la fin :

J'ai été assez occupé il y a quelque temps, mais j'ai prêté une attention particulière au développement de .Net Core lors de la précédente conférence des constructeurs, les débuts époustouflants de la version 2.0 m'ont complètement convaincu que Microsoft ne ménagerait aucun effort pour y parvenir. développer .Net, et cela m'a aussi donné envie d'attendre que .Net Developer Spring soit là, et je voudrais rendre hommage à tous les développeurs .Net du monde que nous attendons depuis 10 ans.

Pourquoi avez-vous choisi cette architecture ? Parce qu'elle a été écrite par Microsoft et qu'elle a une grande importance pédagogique. De plus, les concepts de microservices et de Docker sont de plus en plus populaires. n'a pas encore atteint le concept Microservice), il existe de nombreux inconvénients dans le déploiement, le développement, la maintenance et l'expansion, donc cet apprentissage est très important pour moi.

Le premier article est un peu plus absurde. Plus tard, j'expliquerai le code et l'architecture et les modèles de conception. Voici enfin un rendu

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn