Booking Microservices教程:.NET 10微服务生产级参考实现

📌 项目日期:2026年9月 | 数据来源:GitHub官方仓库 | 星数:240+

📋 项目简介

这是 Evangelos Vlachos 开源的航班预订系统参考实现,演示了如何端到端设计并运行一套生产风格的微服务:独立服务各自拥有数据库、基于持久化收件箱/发件箱的异步消息、服务间同步gRPC调用、API网关、集中式身份认证、可观测性,以及容器/Kubernetes部署。

技术规格相当完整:.NET 10 + 垂直切片架构(Vertical Slice)+ DDD + CQRS(MediatR)+ EventStoreDB事件溯源 + RabbitMQ事件驱动 + Wolverine + PostgreSQL + MongoDB + .NET Aspire。动手前用 Spec Kit 把学习目标规格化,配合 /kun工程思维库 效果更好。

🔧 架构要点

模式实现
垂直切片架构按功能文件夹组织,每个请求一个自包含切片
DDD全部业务逻辑按领域驱动设计
CQRSMediatR + 校验与日志管道行为
事件溯源Booking服务写侧用EventStoreDB
事件驱动RabbitMQ + 持久化Inbox/Outbox
服务间通信同步gRPC + 异步消息混合

📦 三种运行方式

# 方式一:.NET Aspire(推荐,一键编排)
dotnet run --project src/Booking.AppHost

# 方式二:Docker Compose
docker compose up -d

# 方式三:Kubernetes
# 仓库含 k8s/ 清单与部署说明

# 前置:dotnet dev-certs https --trust(开发证书)

✅ 适合谁

📚 常见问题

Booking Microservices是什么?

一个航班预订系统的生产级微服务参考实现:.NET 10 + 垂直切片架构 + DDD + CQRS + EventStoreDB事件溯源 + gRPC + RabbitMQ + PostgreSQL/MongoDB + .NET Aspire。

有哪几种运行方式?

三种:.NET Aspire一键编排、Docker Compose、Kubernetes;也支持手动build+run+test。

适合谁学习?

想端到端理解生产级微服务的.NET开发者:独立服务各自数据库、持久化收件箱/发件箱异步消息、服务间gRPC、API网关、集中认证与可观测性。