. NET MicroServices: Architecture containers and Docker profiles for containerized. NET applications what is Docker? Docker terminology Docker containers, images, and registries select. NET core or. NET Framework general guidance for Docker containers when. NET core is selected for the Docker container. NET Framew Ork decision table: the. NET Framework used by Docker to locate operating systems when using. NET Docker image to build containerized microservices application containerized monolithic application Docker State and data in application service-oriented Architecture microservices architecture data Sovereignty logic architecture and physical architecture of each microservices distributed data management challenges and solutions identify the communication between each microservices domain model boundary microservices message-based asynchronous communication creation, improvement, and versioning microservices API and protocol microservices addressable and service registries create a composite UI based on microservices, including multiple microservices generated visual UI shapes and layout microservices for resiliency and high availability scheduling microservices and multi-container applications for business processes to achieve high scalability and high availability using Azure service Fabricdocker Application development Process Docker application development workflow Deploying a single-container. NET Core Web app on a Linux or Windows Nano Server host migrating legacy monolithic. NET Framework applications to Windows s container design and development of multi-containerized microservices. NET application Design for MicroServices-based applications create a simple data-driven CRUD micro-service using DOCKER-COMPOSE.YML Define multi-container applications use the database server running as a container to implement event-based communication between microservices (integration events) using RabbitMQ to implement event bus subscription events for development or test environments ASP. NET Core services and WEB applications use DDD and CQRS mode to reduce tiny Business complexity in microservices application of simplified CQRS and ddd patterns in Eshoponcontainers ddd microservices using CQRS and CQS methods to implement read/query design for DDD-oriented microservices design microservices domain model use. NET Core implements the MicroServices domain model SEEDWORK (reusable base classes and interfaces for domain models) implementing value objects using an enumeration class (instead of an enumeration type) to design the validation client in the domain model layerCertificate (authentication in the presentation layer) domain event: Design and implementation of the design infrastructure persistence layer uses the Entity Framework Core to implement the infrastructure persistence layer using a NoSQL database as a persistence infrastructure design microservices application layer and Web API using Web API to implement microservices application layer Recovery application processing strategy for partial failure error of partial failure error implementation using the retry implementation of the exponential Backoff algorithm to restore the Entity Framework Core SQL Connection implementation using a custom HTTP call retry using the exponential backoff algorithm use Polly to implement an HTTP tune using the exponential backoff algorithm Implementing Circuit breaker mode health monitoring with retry protect. NET MicroServices and Web applications securely store application secrets during development by using Azure key Vault to protect confidential key conclusions in the production process
Related microservices and container-based reference applications: Eshoponcontainers
Eshoponcontainers is an open source application.
Github:https://github.com/dotnet-architecture/eshoponcontainers
The sample application includes the following backend services:
? An identity microservice, which uses ASP. NET Core identity and IdentityServer4.
? A catalog Microservice, which is a data-driven, create, read, update, delete (CRUD) service This consumes an SQL Server da Tabase using EntityFramework Core.
? An ordering microservice, which are a Domain-driven service that implements domain driven design patterns.
? A basket microservice, which is a Data-driven CRUD service that uses Redis Cache
? A Marketing and location microservices as example of No-sql databases (MongoDB and COSMOSDB).
? An MVC watchdogs web app to query and show info from the Healthchecks (not shown in the above architecture diagram).
these back-end services are implemented as microservices using the ASP. NET Web API and deployed as a unique container in a single Docker host. The client application then communicates with the back-end service through the presentation State Transfer (REST) Web interface.
The microservices also communicate through asynchronous messages based on the event bus implemented on RABBITMQ, but the event bus can also be based on any other proxy or service bus, such as Azure service bus,nservicebus,masstransit.
Additionally, the sample application comes with three client applications:
? An MVC application developed using ASP.
? A single-page application (SPA) developed using angular 2 and typescript.
? A cross-platform mobile application developed with Xamarin.Forms.
Blog Description: https://blogs.msdn.microsoft.com/dotnet/2017/08/02/ microservices-and-docker-containers-architecture-patterns-and-development-guidance/
ebook Document Address: https://docs.microsoft.com/zh-cn/dotnet/standard/microservices-architecture/
ebook PDF Download: Http://aka.ms/MicroservicesEbook
. NET Application Architecture Center:https://www.microsoft.com/net/learn/architecture
If you think this article is helpful to you, please click " recommend ", thank you.
. NET MicroServices and Docker containers