介绍如何使用容器开发基于微服务的应用程序并对其进行管理。 本指南探讨使用 .NET Core 和 Docker 容器的体系结构设计和实现方法。
Contents.NET 微服务:适用于容器化 .NET 应用程序的体系结构容器和 Docker 简介什么是 Docker?Docker 术语Docker 容器、映像和注册表为 Docker 容器选择 .NET Core 或 .NET Framework通用指南何时为 Docker 容器选择 .NET Core何时为 Docker 容器选择 .NET Framework决策表:用于 Docker 的 .NET Framework使用 .NET 容器时定位的操作系统官方 .NET Docker 映像构建基于容器和微服务的应用容器化整体式应用程序Docker 应用程序中的状态和数据面向服务的体系结构微服务体系结构每个微服务的数据主权逻辑体系结构与物理体系结构分布式数据管理的挑战和解决方案标识每个微服务的域模型边界客户端到微服务直接通信与 API 网关模式微服务体系结构中的通信基于消息的异步通信创建、改进微服务 API 及协定并进行版本控制微服务可寻址性和服务注册表根据微服务创建复合 UI,包括多个微服务生成的可视 UI 形状和布局微服务中的复原和高可用性协调安排微服务和多容器应用程序,实现高可伸缩性和高可用性基于 Docker 的应用的开发流程Docker 应用开发工作流设计和开发基于微服务的多容器 .NET 应用设计面向微服务的应用程序创建简单的数据驱动 CRUD 微服务使用 docker-compose.yml 定义多容器应用程序使用作为容器而运行的数据库服务器在微服务(集成事件)之间实现基于事件的通信使用 RabbitMQ 实现用于开发或测试环境的事件总线订阅事件测试 ASP.NET Core 服务和 Web 应用使用 IHostedService 在微服务中实现后台任务通过 Ocelot 实现 API 网关使用 DDD 和 CQRS 模式降低微服务中的业务复杂性在微服务中应用简化的 CQRS 和 DDD 模式在 eShopOnContainers 的 DDD 微服务中应用 CQRS 和 CQS 方法在 CQRS 微服务中实现读取/查询设计面向 DDD 的微服务设计微服务域模型使用 .NET Core 实现微服务域模型Seedwork(适用于域模型的可重用基类和接口)实现值对象使用枚举类(而不是枚举类型)在域模型层中设计验证客户端验证(表示层中的验证)域事件:设计和实现设计基础结构持久性层使用 Entity Framework Core 实现基础结构持久性层将 NoSQL 数据库用作持久性基础结构设计微服务应用层和 Web API使用 Web API 实现微服务应用层实现可复原的应用处理部分失败错误处理部分失败错误处理部分失败的策略实现使用指数退避算法的重试实现复原 Entity Framework Core SQL 连接使用 IHttpClientFactory 实现复原 HTTP 请求通过 Polly 实现使用指数退避算法的 HTTP 调用重试实现断路器模式运行状况监视保护 .NET 微服务和 Web 应用关于 .NET 微服务和 Web 应用中的授权在开发过程中安全地存储应用程序机密在生产时使用 Azure Key Vault 保护机密关键结论
评论