Eshoponcontainers know [1]: General overview

Source: Internet
Author: User

Introduction

In the micro-service big line of the Today, the Java Camp Spring Boot, Spring Cloud, Dubbo Micro-service framework is Feng Shui water, but also have to sigh with the Java ecosystem of the hot. Counter-View domestic. NET camp, micro-service is not get mad bland not fire.

Microsoft has launched the Eshoponcontainers microservices Reference application on its website to promote the. NET core-based microservices architecture. I will also learn to study microservices and share what I have learned in order to form a series that is modest for the promotion of. NET Community microservices.

Eshoponcontainers Introduction

Easy to get started sample reference Microservice and container based application. Cross-platform on Linux and Windows Docker Containers, powered by. NET Core 2.1, Docker engine and optionally Azure, Kuber Netes or Service Fabric. Supports Visual Studio, vs for Mac and CLI based environments with Docker CLI, dotnet CLI, vs Code or any other ...

Simply put:Eshoponcontainers is a simplified version of the micro-service architecture-oriented reference application developed based on technologies such as. NET Core and Docker .

This reference application is a simplified version of the online store/e-commerce application .

Although it is a simplified version of the MicroServices reference example, it is not easy for the students who have not been in touch with Docker, DDD, and microservices. It contains not only a lot of terminology, design patterns, architectural styles, but also a range of common technologies (RabbitMQ, Eventbus, IdentityServer4, Polly, Api Gateway, Redis, CQRS, caps, CI/CD, etc.). There are also some related tools (Docker, k8s, etc.). So it's going to be a hard-to-chew bone.

General Introduction

Eshoponcontainers serves as a cross-platform microservices architecture, benefiting from the ability of. NET core to run on Linux or Windows containers. It includes browser-based web apps, Xamarin-based Android, IOS, WINDOWS/UWP mobile apps, and server-side apps. Where the server contains multiple autonomous microservices (each with its own data/db), and each microservices has a different implementation form (simple crud and DDD/CQRS mode). Use HTTP as the communication protocol between client applications. Supports asynchronous communication and data update propagation using integration events (integration event) and event bus.

Development environment Architecture

A picture wins thousands of words, from the know, the architecture consists of two parts: client applications and server-side applications running in Docker hosts.

    1. Client Apps: Browser-based Web apps, Android, IOS, and UWP mobile apps developed on Xamarin.
    2. Server-side application: A series of microservices deployed on Doker hosts.

The service side mainly includes six micro services:

    1. Identity Micsroservice (Identity micro-service): For identity authentication and authorization. Use a SQL Server database.
    2. Catalog Microservice (Product catalog microservices): For the maintenance of product information. Use a SQL Server database.
    3. Ordering Microservice (Order micro Service): For processing of order logic. Use a SQL Server database.
    4. Basket Microservice (Shopping cart microservices): For the processing of shopping cart logic. Use a Redis database.
    5. Marketing Microservice (Marketing microservices): For the processing of marketing logic. Use MONGODB/COSMOSDB and SQL Server databases.
    6. Locations Microservice (Location Micro service): used to provide location services. Use the MONGODB/COSMOSDB database.
    7. [New] Payment Microservice (Payment Micro Service): Used to process payment logic.

In addition, we can clearly see its communication architecture :

    1. The client communicates with the MicroServices through the API Gateway: used to query and receive updates or transaction commands from the client application.
    2. Asynchronous event traffic: Propagates updates from microservices or integrates with external applications through the event bus. Event bus can be implemented using any of the message broker architecture techniques, such as RabbitMQ, or more advanced service buses such as Azure service Bus, Nservicebus, masstransit, or brighter.
Micro-Service Architecture mode

The four microservices listed mainly use two architectural modes:

    1. Curd micro-service based on data-driven
    2. DDD-based MicroServices

In fact, software architects and developers use different architectural patterns, such as (hybrid architecture styles and architectural patterns):

    1. Simple CRUD, single-layer
    2. Traditional N-Layer
    3. DDD N-Layer
    4. Neat architecture
    5. Command and query separation (CQRS)
    6. Event-Driven architecture

In applications consisting of multiple microservices, each microservices can be implemented in different ways. Each microservices may have different architectural patterns and use different languages and databases based on the nature, business needs, and priorities of the application.

This is the source of the flexibility and complexity of microservices.

Code structure

Series Plan

I have only a preliminary understanding of micro-services, this project will also be my starting point for learning microservices. So I will be a small white perspective (inevitably have some flaws, please actively communicate correct), as far as possible to easy to understand the language to comb each knowledge point, and the formation of Eshoponcontainers know how many series , together with everyone to learn progress. This series will start in my personal subscription number "Micro service know how much", please scan the following QR code, follow the update!

Resources

Eshoponcontainers Official documents
. NET MicroServices: A guide to containerized. NET application architectures. pdf

Eshoponcontainers know [1]: General overview

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.