📌 项目日期: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 | 全部业务逻辑按领域驱动设计 |
| CQRS | MediatR + 校验与日志管道行为 |
| 事件溯源 | 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(开发证书)
一个航班预订系统的生产级微服务参考实现:.NET 10 + 垂直切片架构 + DDD + CQRS + EventStoreDB事件溯源 + gRPC + RabbitMQ + PostgreSQL/MongoDB + .NET Aspire。
三种:.NET Aspire一键编排、Docker Compose、Kubernetes;也支持手动build+run+test。
想端到端理解生产级微服务的.NET开发者:独立服务各自数据库、持久化收件箱/发件箱异步消息、服务间gRPC、API网关、集中认证与可观测性。