


In order to promote .Net Core, Microsoft provides us with an open source Demo-eShopOnContainers, which is developed using the Net Core framework and is cross-platform (covering almost all platforms , windows, mac, linux, android, ios), based on microservicesarchitecture, small applications running in containers, which not only show. The cross-platform nature of Net Core also demonstrates the power of VS2017. All codes are developed under VS2017. As can be seen from the name, this is an electronic store application running on a container. Using the cross-platform nature of Docker, we can "build once, run anywhere".
1. Introduction
eShopOnContainers is a simple .Net Core application based on microservice architecture and Docker container. At present, the microservice architecture is in full swing, and docker technology is also developing rapidly. Microsoft launched this Demo at this time, and its intention can be imagined. Although this Demo cannot be fully applied to the production environment, it is very good for us developers. Learning materials, whether you make slight modifications or use the architecture to re-develop, it is very necessary to learn such a Demo, which reminds me of learning BlogEngine.Net before.
2. Architecture
Let’s take a look at the architecture diagram provided to us by Microsoft
We see 2 from left to right In the dotted box, the left side is each client application, and the right side is the web application, microservice application and database assumed to be on Docker.
In the Demo, Microsoft built multiple services according to different functions, and when designing these services, Microsoft used different methods to implement them, as shown in the following figure:
The above are the four services displayed by Microsoft in the Demo. You can also use different frameworks and different databases to complete the construction of your microservices. This is why microservices are so popular. . I can use any language and any database to build my service, no matter what language or system my calling end uses.
3. Source code
This architecture is open source on Github, address: https://github.com/dotnet-architecture /eShopOnContainers
We can clone the source code through git:
We see there are 3 sln in it, it is recommended to open it with vs2017, if youInstallation After the full version, you can open eShopOnContainers.sln, but generally for beginners, we still open the eShopOnContainers-ServicesAndWebApps.sln solution.
You can see that webapp and service app have been covered in the solution, and our tutorial is also based on this solution.
4. Necessary environment:
As mentioned before, our application is cross-platform and can run on any operating system that supports Docker, but during our developmentDebugging, we need the corresponding environment to debug (of course you can also use iisexpress for debugging)
1. 64bit Windows 10 Pro
2. Turn on Hyper-V (Microsoft's virtualization Machine)
3. Install Docker for Windows
If we are a version before win10, although we can install Docker Toolbox, we cannot use VS2017 for Docker debugging. An error will be reported when running. For this tutorial, I decided to upgrade my computer to Win10 so that it can be displayed better.
If you want to debug and run under the previous system, in addition to installing Docker Toolbox, you also need to install:
1, NodeJS
2. Bower
Docker for Windows There are two types of containers on win10 or server 2016, Linux container and Windows Container. Here we only need to use Linux Container (default). Our tutorial is only for Services and WebApp. Microsoft recommends setting the memory used by Docker to 4096M (4G) and CPU 3. If you want to run the full version (including mobile client), you need to configure 16G memory for Dockere.
My personal suggestion is that you'd better have a machine dedicated to the database, otherwise a mssql-linux-sql docker requires 4G of memory, and it goes without saying that you also need to build a redis.
When we are learning, we don’t necessarily have to use Docker for debugging. You can also use iis express. It doesn’t matter which method you use, the important thing is learning.
5. Learning steps:
The explanations in this series are based on the ServicesAndWebApps.sln code. We will learn from microservices first, and then look at the code structure of the web part. The approximate order is as follows:
1, Identity service
2, Catalog Service
3, Ordering Sevice
4, Basket Service
5, WebApp Mvc
6, WebSPA
I was busy some time ago, but I have been paying close attention to the development of .Net Core. At the previous builder conference, the stunning debut of 2.0 completely convinced me that Microsoft would spare no effort to develop .Net, and it also made me wait for .Net Developer. Spring is here, and I would like to pay tribute to all .Net Developers in the world. We have been waiting for 10 years.
Why choose this architecture? Because it was written by Microsoft and is of great teaching significance. Moreover, the concepts of microservices and Docker are becoming more and more popular. The current company is based on services (it has not yet reached Microservice concept), there are many inconveniences in deployment, development, maintenance, and expansion, so this learning is very important to me.
The first article is more nonsense. Later, I will explain the code, architecture and Design Pattern. Everyone is welcome to subscribe. Finally, here is a rendering
The above is the detailed content of Analysis of Microsoft Microservice Architecture eShopOnContainers. For more information, please follow other related articles on the PHP Chinese website!

C# and .NET are suitable for web, desktop and mobile development. 1) In web development, ASP.NETCore supports cross-platform development. 2) Desktop development uses WPF and WinForms, which are suitable for different needs. 3) Mobile development realizes cross-platform applications through Xamarin.

The C#.NET ecosystem provides rich frameworks and libraries to help developers build applications efficiently. 1.ASP.NETCore is used to build high-performance web applications, 2.EntityFrameworkCore is used for database operations. By understanding the use and best practices of these tools, developers can improve the quality and performance of their applications.

How to deploy a C# .NET app to Azure or AWS? The answer is to use AzureAppService and AWSElasticBeanstalk. 1. On Azure, automate deployment using AzureAppService and AzurePipelines. 2. On AWS, use Amazon ElasticBeanstalk and AWSLambda to implement deployment and serverless compute.

The combination of C# and .NET provides developers with a powerful programming environment. 1) C# supports polymorphism and asynchronous programming, 2) .NET provides cross-platform capabilities and concurrent processing mechanisms, which makes them widely used in desktop, web and mobile application development.

.NETFramework is a software framework, and C# is a programming language. 1..NETFramework provides libraries and services, supporting desktop, web and mobile application development. 2.C# is designed for .NETFramework and supports modern programming functions. 3..NETFramework manages code execution through CLR, and the C# code is compiled into IL and runs by CLR. 4. Use .NETFramework to quickly develop applications, and C# provides advanced functions such as LINQ. 5. Common errors include type conversion and asynchronous programming deadlocks. VisualStudio tools are required for debugging.

C# is a modern, object-oriented programming language developed by Microsoft, and .NET is a development framework provided by Microsoft. C# combines the performance of C and the simplicity of Java, and is suitable for building various applications. The .NET framework supports multiple languages, provides garbage collection mechanisms, and simplifies memory management.

C# and .NET runtime work closely together to empower developers to efficient, powerful and cross-platform development capabilities. 1) C# is a type-safe and object-oriented programming language designed to integrate seamlessly with the .NET framework. 2) The .NET runtime manages the execution of C# code, provides garbage collection, type safety and other services, and ensures efficient and cross-platform operation.

To start C#.NET development, you need to: 1. Understand the basic knowledge of C# and the core concepts of the .NET framework; 2. Master the basic concepts of variables, data types, control structures, functions and classes; 3. Learn advanced features of C#, such as LINQ and asynchronous programming; 4. Be familiar with debugging techniques and performance optimization methods for common errors. With these steps, you can gradually penetrate the world of C#.NET and write efficient applications.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

SublimeText3 Linux new version
SublimeText3 Linux latest version
