教程演示🔗
使用 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 数据库连接
-
Docker 上具有 SQL Server 数据库连接的 Entity Framework Core
-
使用存储库模式的 N 层实现
-
Swagger 开放 API 实现
-
使用 Discount Grpc 服务进行服务间同步通信来计算产品最终价格
-
使用 MassTransit 和 RabbitMQ 发布 BasketCheckout 队列
-
使用 Basket 微服务构建高性能的服务间 gRPC 通信
-
使用Dapper进行微ORM实现,简化数据访问并保证高性能
-
PostgreSQL 数据库连接和容器化
-
与 RabbitMQ 消息代理服务的异步微服务通信
-
使用 RabbitMQ 发布/订阅主题交换模型
-
使用 MassTransit 对 RabbitMQ 消息代理系统进行抽象
-
使用最佳实践实施 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进行容器轻量级管理UI,让您轻松管理不同的Docker环境
-
pgAdmin PostgreSQL 工具具有丰富的 PostgreSQL 开源管理和开发平台
要求
-
C# 知识(泛型、异步/等待、匿名方法、操作、谓词)
-
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 开放 API 实现
篮子微服务包括:
- ASP.NET Web API 应用程序
- REST API原理、CRUD操作
- Redis数据库连接和容器化
- 使用Discount gRPC 服务进行服务间同步通信来计算产品最终价格
- 使用MassTransit 和 RabbitMQ发布BasketCheckout 队列
折扣微服务包括:
- ASP.NET gRPC 服务器应用程序
- 使用 Basket 微服务构建高性能的服务间 gRPC 通信
- 通过创建Protobuf 消息来公开 gRPC 服务
- 使用Dapper进行微ORM实现,简化数据访问并保证高性能
- PostgreSQL 数据库连接和容器化
微服务通信
- 同步服务间gRPC 通信
- 与RabbitMQ 消息代理服务的异步微服务通信
- 使用RabbitMQ 发布/订阅主题交换模型
- 使用MassTransit对 RabbitMQ 消息代理系统进行抽象
- 从 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 Gateway/BFF容器类型
- Shopping.Aggregator 中的网关聚合模式
WebUI ShoppingApp 微服务
- 带有 Bootstrap 4 和 Razor 模板的 ASP.NET Core Web 应用程序
- 使用 HttpClientFactory调用Ocelot API
- ASPNET Core Razor 工具 — 视图组件、部分视图、标记帮助器、模型绑定和验证、Razor 部分等。
辅助容器
- 使用Portainer进行容器轻量级管理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 上的微服务的高级开发人员