.NET 8 Microservices: DDD, CQRS, Vertical/Clean Architecture

所在平台: Udemy

课程主页: https://www.udemy.com/course/microservices-architecture-and-implementation-on-dotnet/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:.NET 8 微服务:DDD、CQRS、垂直/清洁架构 课程概述: 本课程基于一个获得社区验证的 GitHub aspnetrun 微服务代码库,拥有超过 3000 个星标和 1600 个分支。您将学习如何在 .NET 平台上构建微服务,使用的技术包括 Asp.Net Web API、Docker、RabbitMQ、MassTransit、gRPC、Yarp API 网关、PostgreSQL、Redis、SQLite、SqlServer、Marten、Entity Framework Core、CQRS、MediatR、DDD、垂直和清洁架构等。课程将指导您开发电子商务模块,包括产品、购物车、折扣和订购微服务,涉及 NoSQL(PostgreSQL DocumentDB、Redis)和关系型数据库(SQLite、Sql Server),并通过 RabbitMQ 进行事件驱动通讯,使用 Yarp API 网关。 您将逐步实现微服务架构,并通过详细的讲解了解实现过程。课程将教授以下微服务和功能: 1. **目录微服务**: - ASP.NET Core 最简 API 和 .NET 8 最新特性 - 垂直切片架构与功能文件夹实现 - 使用 MediatR 库的 CQRS 实现 - CQRS 校验流水线行为与 FluentValidation - 使用 Marten 库的 .NET 事务性文档数据库 - 使用 Carter 库定义最简 API 端点 - 处理跨切面的关注点,如日志记录、全局异常处理和健康检查 - Dockerfile 和 docker-compose 文件,用于在 Docker 环境中运行多容器 2. **购物车微服务**: - ASP.NET 8 Web API 应用程序 - 遵循 REST API 原则和 CRUD 操作 - Redis 作为分布式缓存 - 使用 MassTransit 和 RabbitMQ 进行篮子结账队列的发布 3. **折扣微服务**: - ASP.NET gRPC 服务器应用程序 - 构建高性能的 gRPC 通讯 - 使用 Entity Framework Core 进行 SQLite 数据提供与迁移 - 微服务之间的同步与异步通讯 4. **订购微服务**: - 实现 DDD、CQRS 和清洁架构的最佳实践 - 使用 MediatR、FluentValidation 和 Mapster 进行 CQRS 开发 - 使用 RabbitMQ 进行事件处理和消息传递 5. **Yarp API 网关微服务**: - 实现 Yarp 反向代理 API 网关 - 配置路由、集群、路径和转化 - 利用限流功能 6. **WebUI 购物应用微服务**: - 基于 ASP.NET Core 和 Bootstrap 4 的 Web 应用 - 使用 Refit 库消费 YarpApiGateway APIs 课程强调质量代码的写作和 DDD 最佳实践,实施 N 层六边形架构,并应用 SOLID 原则,实现松耦合和依赖倒置的架构模式,设计模式如依赖注入、日志记录、验证和异常处理等。 这门课程适合喜欢通过实践学习的人,95% 以上的课程内容都将与您一起编码。您将使用 Visual Studio 作为代码编辑器,当然也可以使用任意您喜欢的代码编辑器和操作系统(Windows 或 Mac)。同时,课程中也会使用 Docker Desktop,通过不同的数据库提供者进行实践。 通过本课程,您将获得构建微服务所需的实用知识和技能,实现高效的云原生应用程序开发。

课程评论(0条)

课程详情

This course comes from a live github aspnetrun microservices repository which verified from community with 3000+ stars and 1600+ forks.You will learn how to build Microservices on.Net platforms which used Asp.Net Web API, Docker, RabbitMQ, MassTransit, Grpc, Yarp API Gateway, PostgreSQL, Redis, SQLite, SqlServer, Marten, Entity Framework Core, CQRS, MediatR, DDD, Vertical and Clean Architecture implementation using latest codes and best practices of.NET 8 on cloud-native environments.You will develop e-commerce modules over Product, Basket, Discount and Ordering microservices with NoSQL (PostgreSQL DocumentDB, Redis) and Relational databases (SQLite, Sql Server) with communicating over RabbitMQ Event Driven Communication and using Yarp API Gateway. You can find Microservices Architecture and Step by Step Implementation on.NET which step by step developing this course with extensive explanations and details.Along with this you'll develop following microservices and items:Catalog microservice which includes;ASP.NET Core Minimal APIs and latest features of.NET 8 and C# 12Vertical Slice Architecture implementation with Feature foldersCQRS implementation using MediatR libraryCQRS Validation Pipeline Behaviours with MediatR and FluentValidationMarten library for.NET Transactional Document DB on PostgreSQLCarter library for Minimal API endpoint definitionCross-cutting concerns Logging, global Exception Handling and Health ChecksDockerfile and docker-compose file for running Multi-container in Docker environmentBasket microservice which includes;ASP.NET 8 Web API application, Following REST API principles, CRUD operations Redis as a Distributed Cache over basketdb Implements Proxy, Decorator and Cache-aside Design PatternsConsume Discount gRPC Service for inter-service sync communication to calculate product final pricePublish BasketCheckout Queue with using MassTransit and RabbitMQDiscount microservice which includes;ASP.NET gRPC Server applicationBuild a Highly Performant inter-service gRPC Communication with Basket MicroserviceExposing gRPC Services with creating Protobuf messagesEntity Framework Core ORM - SQLite Data Provider and MigrationsSQLite database connection and containerizationMicroservices CommunicationSync inter-service gRPC CommunicationAsync Microservices Communication with RabbitMQ Message-Broker ServiceUsing RabbitMQ Publish/Subscribe Topic Exchange ModelUsing MassTransit for abstraction over RabbitMQ Message-Broker systemPublishing BasketCheckout event queue from Basket microservices and Subscribing this event from Ordering microservicesCreate RabbitMQ EventBus.Messages library and add references MicroservicesOrdering MicroserviceImplementing DDD, CQRS, and Clean Architecture with using Best PracticesDeveloping CQRS with using MediatR, FluentValidation and Mapster packagesUse Domain Events & Integration EventsEntity Framework Core Code-First Approach, Migrations, DDD Entity ConfigurationsConsuming RabbitMQ BasketCheckout event queue with using MassTransit-RabbitMQ ConfigurationSqlServer database connection and containerizationUsing Entity Framework Core ORM and auto migrate to SqlServer when application startupYarp API Gateway MicroserviceImplement API Gateways with Yarp Reverse Proxy applying Gateway Routing PatternYarp Reverse Proxy Configuration; Route, Cluster, Path, Transform, DestinationsRate Limiting with FixedWindowLimiter on Yarp Reverse Proxy ConfigurationSample microservices/containers to reroute through the API GatewaysWebUI ShoppingApp MicroserviceASP.NET Core Web Application with Bootstrap 4 and Razor templateConsume YarpApiGateway APIs using Refit Library with Generated HttpClientFactoryASPNET Core Razor Tools - View Components, partial Views, Tag Helpers, Model Bindings and Validations, Razor Sections etc.Docker Compose establishment with all microservices on docker;Containerization of microservicesOrchestrating of microservices and backing services (databases, distributed caches, message brokers..)Override Environment variablesOn top of all these, you'll learn how to write quality code, not just how to build microservices. In this course you will see the demonstrating a layered application architecture with DDD best practices. Implements NLayer Hexagonal architecture (Core, Application, Infrastructure and Presentation Layers) and Domain Driven Design (Entities, Repositories, Domain/Application Services, DTO's...) and aimed to be a Clean Architecture, with applying SOLID principles in order to use for a project template. Also implements best practices like loosely-coupled, dependency-inverted architecture and using design patterns such as Dependency Injection, logging, validation, exception handling and so on.Is this course for you?This course is very practical, about 95%+ of the lessons will involve you coding along with me on this project. If you are the type of person who gets the most out of learning by doing, then this course is definitely for you. Tools you need for this courseIn this course all the lessons are demonstrated using Visual Studio as a code editor. You can of course use any code editor you like and any Operating system you like as long as it's Windows or Mac. Also using Docker Desktop in order to use different database providers.

课程标签

0人关注该课程

主题相关的课程