.NET 中的微服务
.NET 中的微服务
简介:
引言
由 Christian Horsdal 所著的《Microservices in .NET》(中文译本名为《.NET 中的微服务》)于 2017 年出版,并迅速成为在 .NET 平台上构建微服务架构最实用的指南之一。与许多理论著作不同,本书为读者提供了一条从第一行代码到在 Docker 容器中部署完整系统的循序渐进之路。尽管自出版以来已过去数年,但作者描述的基本原则和方法至今仍然适用,尤其对于从单体应用转向微服务的开发者而言。
本书内容
本书以一个贯穿始终的示例构建:作者逐步创建一个真实的应用程序——一个由多个独立微服务组成的在线商店。每一章都专注于微服务架构的一个关键方面:
- 微服务设计 — 如何正确划分服务边界,使其松散耦合且易于维护。
- 服务间通信 — 通过 HTTP/REST 进行同步调用,以及通过消息队列(RabbitMQ)进行异步交互。
- 数据处理 — 在分布式系统中处理数据库,以及用于管理事务的 Saga 模式。
- 测试 — 微服务测试策略:单元测试、集成测试和端到端测试。
- 部署与 DevOps — 将服务打包到 Docker 容器中,使用 Docker Compose 进行编排,配置 CI/CD。
- 监控与日志记录 — 集中式日志收集、指标、健康检查。
本书适合谁
本书面向已有 ASP.NET 创建 Web 应用经验的 C# 开发者。如果您熟悉 .NET Framework 或 .NET Core 的基础知识,能够使用 Visual Studio,并了解什么是 REST API,那么您将能轻松掌握本书内容。对于 .NET 新手来说可能会有些困难:作者不会解释语言和平台的基本概念,而是直接进入架构决策。
此外,本书对软件架构师也很有帮助,他们希望看到 .NET 上微服务的实际实现;同样适用于计划从单体架构迁移到微服务的技术主管。
读者将学到什么
- 如何将单体应用拆分为微服务,而不会创建出“分布式单体”。
- 如何通过 HTTP 和消息队列组织服务间的可靠通信。
- 如何在分布式系统中管理数据:Saga 模式、CQRS、事件溯源(简要介绍)。
- 如何使用 Docker 容器化 .NET 应用程序,并通过 Docker Compose 进行编排。
- 如何为微服务配置持续集成和持续部署(CI/CD)。
- 如何为已完成的系统添加监控、日志记录和健康检查。
本书优势
实践导向。 与许多仅限于理论的书籍不同,Horsdal 提供了可直接运行和修改的现成代码。所有示例均可在 GitHub 上获取。
循序渐进。 每一章在逻辑上都承接上一章。您不会在不同主题间跳跃,而是逐步构建系统。
聚焦 Docker。 在本书出版时,Docker 对于 .NET 开发者来说还是新鲜事物。作者详细解释了如何将服务打包到容器中,这使得本书成为容器化技术的绝佳入门读物。
明确聚焦 .NET。 本书并未试图涵盖所有语言和平台——它完全专注于 .NET 生态系统,这使其对 C# 开发者尤其宝贵。
推荐给谁
本书对以下人群有益:
- 希望掌握微服务架构的 C# 开发者。
- 计划