Microservices Architecture and Implementation on .NET 5
在使用 Asp.Net Web API、Docker、RabbitMQ、Ocelot API Gateway、MongoDB、Redis、SqlServer 的 .Net 上构建微服务
你将会学到的
- 微服务的ASPNET Core Web API开发
- REST API 原理、CRUD 操作
- Docker 上的 Mongo DB 和 Redis NoSQL 数据库连接
- Entity Framework Core 与 Docker 上的 SQL Server 数据库连接
- 使用存储库模式的 N 层实现
- Swagger Open API 实现
- 使用折扣 Grpc 服务进行服务间同步通信,计算产品最终价格
- 使用 MassTransit 和 RabbitMQ 发布 BasketCheckout 队列
- 使用 Basket Microservice 构建高性能的服务间 gRPC 通信
- 使用Dapper进行微表单实现,简化数据访问,保证高性能
- PostgreSQL 数据库连接和容器化
- 与 RabbitMQ 消息代理服务的异步微服务通信
- 使用 RabbitMQ 发布/订阅主题交换模型
- 使用 MassTransit 对 RabbitMQ Message-Broker 系统进行抽象
- 使用最佳实践实施 DDD、CQRS 和清洁架构
- 使用 MediatR、FluentValidation 和 AutoMapper 包开发 CQRS
- 使用 MassTransit-RabbitMQ 配置使用 RabbitMQ BasketCheckout 事件队列
- 使用 Entity Framework Core ORM 并在应用程序启动时自动迁移到 SqlServer
- Ocelot API Gateway微服务开发
- 使用 HttpClientFactory 调用 Ocelot API
- Shopping Aggregator 中的网关聚合模式
- 带有 Bootstrap 4 和 Razor 模板的 ASPNET Core Web 应用程序
- Docker Compose 所有微服务的容器化
- 使用 Portainer for Container 轻量级管理 UI,让您轻松管理不同的 Docker 环境
- pgAdmin PostgreSQL 工具为 PostgreSQL 提供丰富的开源管理和开发平台
要求
- C# 知识(泛型、async/await、匿名方法、action、predicate)
- Aspnet基础知识
- Docker基础知识
说明
本课程来自一个实时的 github aspnetrun 微服务存储库,该存储库经过社区验证,拥有1700 多个星和1000 多个分支。
您将学习如何在使用Asp.Net Web API、Docker、RabbitMQ、MassTransit、Grpc、Ocelot API Gateway、MongoDB、Redis、PostgreSQL、SqlServer、Dapper、Entity Framework Core、CQRS 和 Clean Architecture 实现的 .Net平台上构建微服务24.5 小时完全升级的视频。
您将使用NoSQL(MongoDB、Redis)和关系数据库(PostgreSQL、Sql Server)在产品、购物篮和订购微服务上开发电子商务模块,并通过RabbitMQ 事件驱动通信和使用Ocelot API 网关进行通信。您可以在 .NET 上找到微服务体系结构和分步实施,它逐步开发了本课程,并提供了广泛的解释和详细信息。
与此同时,您将开发以下微服务和项目:
目录微服务包括;
- ASP.NET Core Web API 应用程序
- REST API原理、CRUD操作
- MongoDB 数据库连接和容器化
- 存储库模式实现
- Swagger Open API 实现
篮子微服务包括;
- ASP.NET Web API 应用程序
- REST API原理、CRUD操作
- Redis 数据库连接和容器化
- 使用折扣gRPC 服务进行服务间同步通信以计算产品最终价格
- 使用MassTransit 和 RabbitMQ发布BasketCheckout 队列
折扣微服务包括;
- ASP.NET gRPC 服务器应用程序
- 使用 Basket Microservice构建高性能的服务间 gRPC 通信
- 通过创建Protobuf 消息公开 gRPC 服务
- 使用Dapper进行微表单实现,简化数据访问,保证高性能
- PostgreSQL 数据库连接和容器化
微服务通信
- 同步服务间gRPC 通信
- 与RabbitMQ 消息代理服务的异步微服务通信
- 使用RabbitMQ 发布/订阅主题交换模型
- 使用MassTransit对 RabbitMQ Message-Broker 系统进行抽象
- 从 Basket 微服务发布 BasketCheckout 事件队列并从 Ordering 微服务订阅该事件
- 创建RabbitMQ EventBus.Messages 库并添加引用微服务
订购微服务
- 使用最佳实践实施DDD、CQRS 和清洁架构
- 使用 MediatR、FluentValidation 和 AutoMapper 包开发CQRS
- 使用MassTransit-RabbitMQ配置使用RabbitMQ BasketCheckout 事件队列
- SqlServer 数据库连接和容器化
- 使用Entity Framework Core ORM并在应用程序启动时自动迁移到 SqlServer
API网关Ocelot微服务
- 使用 Ocelot实现API 网关
- 通过 API 网关重新路由的示例微服务/容器
- 运行多个不同的API 网关/BFF容器类型
- Shopping.Aggregator 中的网关聚合模式
WebUI ShoppingApp 微服务
- 带有 Bootstrap 4 和 Razor 模板的 ASP.NET Core Web 应用程序
- 使用 HttpClientFactory调用Ocelot API
- ASPNET Core Razor 工具——查看组件、部分视图、标记帮助程序、模型绑定和验证、Razor 部分等。
辅助容器
- 使用Portainer for Container 轻量级管理 UI,让您轻松管理不同的 Docker 环境
- pgAdmin PostgreSQL 工具为 PostgreSQL 提供丰富的开源管理和开发平台
Docker Compose 建立在 docker 上的所有微服务;
- 微服务容器化
- 数据库容器化
- 覆盖环境变量
在所有这些之上,您将学习如何编写高质量的代码,而不仅仅是如何构建微服务。在本课程中,您将看到使用DDD最佳实践演示分层应用程序架构。实现 NLayer六角架构(核心层、应用层、基础设施层和表示层)和领域驱动设计(实体、存储库、领域/应用服务、DTO 的…),旨在成为一个干净的架构,应用SOLID 原则以便用于一个项目模板。还实现了最佳实践,如松耦合、倒置依赖架构和使用设计模式,如依赖注入、日志记录、验证、异常处理等。
这个课程适合你吗?
这门课程非常实用,大约 90% 以上的课程将涉及你和我一起编写这个项目。如果您是那种边做边学的人,那么本课程绝对适合您。
本课程所需的工具
在本课程中,所有课程都使用 Visual Studio 作为代码编辑器进行演示。您当然可以使用您喜欢的任何代码编辑器和您喜欢的任何操作系统,只要它是 Windows 或 Mac。还使用 Docker Desktop 以使用不同的数据库提供程序。
此课程面向哪些人:
- 对 API 和微服务感兴趣的 AspNet Core 开发人员初学者
- 有兴趣学习如何在 .Net 上构建微服务的 C# 开发人员
- 希望在 .Net 上使用微服务的高级开发人员
TheItzy » Microservices Architecture and Implementation on .NET 5