系统架构设计
本专题从架构设计基础原则出发,深入讲解单体到微服务的演进、领域驱动设计(DDD)、云原生架构模式、服务治理、容量规划与架构评审等核心主题,帮助你建立完整的系统架构设计知识体系。
学习目标
- 理解架构设计的基本原则和决策框架
- 掌握从单体到微服务的演进策略
- 深入理解 DDD 战略设计与战术设计
- 掌握服务注册发现、网关、熔断等服务治理组件
- 理解云原生架构模式与 SRE 实践
- 学会容量规划、技术债管理与架构评审
文章目录
核心基础
- 架构设计基础原则 ——SOLID、高内聚低耦合、分层架构、CAP 与 BASE 理论
- 单体应用 vs 微服务 ——演进路径、拆分策略、康威定律、微服务利弊分析
- 领域驱动设计(DDD) ——限界上下文、聚合、实体、值对象、领域事件与事件风暴
- 架构模式与设计模式 ——分层架构、管道-过滤器、微内核、事件驱动、微服务、空间架构
服务架构
- API 网关与 BFF 架构 ——网关职责、BFF 模式、GraphQL 网关、认证与路由
- 前端与 BFF 进阶 ——微前端、SSR/SSG 架构、边缘计算、BFF 分层设计
- 服务注册发现与负载均衡 ——Eureka、Consul、Nacos、客户端/服务端发现、负载均衡算法
- 分布式配置中心 ——Spring Cloud Config、Nacos、Apollo、配置热更新与灰度发布
- 服务网格与 Istio ——Sidecar 模式、流量管理、mTLS、可观测性
稳定性与可观测性
- 熔断、降级与限流 ——Hystrix、Sentinel、令牌桶/漏桶、舱壁隔离
- 高可用架构与故障容错 ——主备/主从/多活、故障检测、自动切换、灾备演练
- 分布式链路追踪 ——Jaeger、Zipkin、OpenTelemetry、TraceID 透传与长尾分析
- 消息驱动架构(EDA) ——事件总线、消息队列选型、事件契约、幂等性设计
数据与一致性
- 分布式数据一致性 ——CAP/BASE、2PC/3PC、TCC、Saga、Seata
- 性能优化与扩展性设计 ——读写分离、分库分表、缓存分层、CDN、容量规划
- 大数据架构 ——Lambda/Kappa 架构、实时计算、数据湖、湖仓一体
安全与部署
- 安全架构设计 ——零信任、认证授权、数据加密、mTLS、密钥管理
- 云原生架构模式 ——Sidecar、Service Mesh、Serverless、FaaS、GitOps
- 弹性计算与多云架构 ——K8s 扩缩容、Serverless、FinOps、边缘计算
- 多租户架构设计 ——共享 Schema/独立 Schema/独立数据库、租户路由、数据隔离
治理与评审
- CQRS 与事件溯源 ——读写分离、事件存储、快照、投影与一致性保障
- SLA/SLO/SLI 与容量规划 ——可用性目标定义、容量模型、压测方法论、扩容策略
- 架构评审与技术债管理 ——ATAM 方法、技术债量化、重构策略、架构防线
架构决策与演进
- 模块化单体:业务边界的单体与演进 ——单体进程内的模块边界、防腐层、数据隔离与微服务演进路径
- 架构决策记录(ADR) ——决策记录模板、生命周期、决策反转与团队落地
- 演进式架构与适应度函数 ——增量演进、适应度函数守门、重构节奏与 YAGNI 平衡
- API 设计与契约治理 ——REST 建模、版本化、OpenAPI 契约先行、错误契约与契约测试
- 混沌工程与弹性工程 ——故障注入、混沌实验设计、游戏日与弹性指标闭环
- 发布策略与灰度架构 ——蓝绿、金丝雀、滚动、功能开关与自动回滚
架构模式与发布工程
- 边车模式(Sidecar) ——边车原理与适用场景、Ambassador/Adapter/Sidecar 三种部署模式对比、边车与服务网格的关系、日志/代理/配置边车实战与踩坑清单
- 微服务间通信模式 ——同步 REST/gRPC 与异步消息选型权衡、请求响应与事件驱动、编排与编排舞蹈、服务契约管理与版本演进、超时重试幂等
- SAGA 分布式事务模式 ——Choreography 与 Orchestration 两种实现、补偿事务设计原则、消息持久化与重试保障、与 2PC 对比选型、失败恢复与隔离性约束
- 限界上下文策略 ——限界上下文识别与划分、上下文映射 Context Map、共享内核与防腐层 ACL、开放主机服务、团队边界与上下文边界对齐
- 绞杀者模式(Strangler Fig) ——遗留系统渐进改造思路、Facade 拦截与路由分流、按功能与按路由渐进替换、数据双写与迁移、旧系统切换与拆除路径
- 功能开关与发布工程 ——Release/Ops/Experiment 三类开关职责划分、灰度发布与 A/B 实验组合、开关生命周期与清理策略、失败默认值与可观测性、开关平台架构
现代架构实践
- 单元化架构 ——单元划分原则、流量路由与路由表、单元内自洽与跨单元调用、容灾切换与容量水位
- 架构适应度函数 ——适应度函数分类、ArchUnit/import-linter 等工具化落地、CI 门禁与阈值治理、演进约束与豁免机制
- 零信任架构落地实践 ——身份即边界、持续验证与动态授权、最小权限与微隔离、SDP 与 mTLS、落地路径与常见误区
- 平台工程与内部开发者平台 ——黄金路径与自助服务、平台即产品与团队拓扑、IDP 能力分层、平台度量与采纳率运营
- 多区域双活架构设计 ——多活拓扑与流量调度、数据复制与冲突解决、单元化与双活的关系、故障切换与数据一致性校验
- AI 原生架构设计 ——LLM 网关与模型路由、RAG 服务化分层、Agent 编排与工具调用、成本与延迟治理、评测与灰度
- 六边形架构与整洁架构 ——入站/出站端口与适配器定义、整洁架构同心圆与唯一依赖规则、包组织与组装层注入、内存适配器驱动的分层测试、与 DDD 分层及洋葱架构的关系和常见误区
- Serverless 架构设计 ——FaaS 与 BaaS 边界、冷启动成因与预置并发/SnapStart 优化、事件源与触发器模型、编排与协同两种组合方式、无状态约束下的状态管理与幂等设计、数据库连接收敛与按量计费陷阱
- C4 模型与架构文档化实践 ——Context/Container/Component/Code 四层抽象、Structurizr 与 PlantUML 图即代码、动态与部署视图扩展、与 ADR 的配合、活文档流程与常见误区
- 数据网格(Data Mesh) ——领域所有权/数据即产品/自助平台/联邦计算治理四大原则、数据产品与数据契约定义及版本演进、自助数据平台能力清单、策略即代码的联邦治理与分阶段落地路线
- 微前端架构 ——构建时与运行时集成方式取舍、Module Federation 与微应用方案对比、JS 沙箱与 CSS 隔离机制、路由归属与状态共享原则、独立部署与版本回滚及可用性兜底
- 韧性工程与错误预算 ——SLI/SLO/SLA 关系与错误预算计算、多窗口多燃烧率告警、发布门禁与预算冻结策略、混沌工程与游戏日演练流程、超时/重试/熔断/隔离舱与降级兜底设计
学习路径建议
- 初级:先读 1-4 篇,建立架构设计的基本认知
- 中级:深入 5-15 篇,掌握服务架构、稳定性、数据一致性与扩展性的核心技术
- 高级:研读 16-47 篇,理解大数据架构、安全架构、弹性计算、多租户等企业级复杂系统设计,并掌握模块化演进、ADR 决策治理、API 契约、混沌工程、灰度发布、单元化与多区域双活、平台工程与 AI 原生架构等工程实践
本专题与「Kubernetes 云原生」「云原生可观测性」「DevOps 实践」专题紧密关联,建议配合阅读。