架构知识体系
2026/10/11大约 4 分钟
架构知识体系
把「单机单体」演进到「分布式 + 微服务 + 高并发」的能力地图:这里记录拆分、协作、容错与性能的系统化方法,以及落地用的组件、配置与代码。
这一区解决什么问题
一台机器、一份代码库、一个数据库,在业务和团队长到一定规模后会同时撞上三类墙:
- 协作墙:几十人改同一个仓库,编译、发布、回滚互相阻塞,一个小改动就要全量回归。
- 容量墙:单机 CPU、内存、连接数到顶;想横向加机器,却被本地 Session、本地缓存、文件存储这些「有状态」的东西拖住。
- 容错墙:任意一个模块抖动或超时,请求线程被占满,故障沿调用链放大,整站 500。
架构这一区的内容,本质上是在回答三个问题:怎么切(拆分)、切完怎么协同(治理与事务)、流量和故障来了怎么扛(高并发与容错)。三者不是并列的选项,而是依次依赖的:没有合理的边界,治理会变成给「分布式单体」贴金;没有治理兜底,高并发只会把单点压垮得更快。
内容地图
按「先建立共识 → 再谈拆分 → 再谈扛量」的顺序组织:
一、分布式
单机走向多机后,会凭空多出部分失败、时钟不可靠、网络分区三件事。这一组先把理论底座(CAP/BASE)讲清,再落地到几个高频基础设施。
- 分布式系统概览:分布式带来的新约束与设计原则。
- CAP 与 BASE:一致性、可用性、分区容错如何取舍,一致性谱系怎么用。
- 分布式 ID 生成:UUID、号段、Redis、雪花算法对比与选型。
- 分布式锁:Redis / ZooKeeper / 数据库三种实现的优劣与坑。
- 分布式事务:2PC、TCC、Saga、本地消息表、事务消息的取舍。
- 分布式会话:粘滞会话、集中式 Session、Token/JWT 的对比。
二、微服务
微服务不是「多拆几个进程」,而是一套围绕边界、协作、可运维的组织方式。
- 微服务总览:微服务的收益、代价与适用前提。
- 服务拆分:业务能力、限界上下文、康威定律与拆分步骤。
- 服务治理:注册发现、配置、网关、负载均衡、超时重试、灰度发布。
- 可观测性:日志、指标、链路的三大支柱与落地工具。
三、高并发
高并发的本质不是「跑得更快」,而是资源有限时保持可用与可预期的延迟。
- 高并发总览:容量规划、压测、瓶颈定位与保护策略。
- 缓存架构:缓存模式、一致性策略与穿透/击穿/雪崩。
- 限流降级熔断:令牌桶、漏桶、滑动窗口与 Sentinel/Guava 落地。
- 秒杀系统设计:从静态化到库存预扣的完整链路。
一条阅读路径
- 打地基:先读 CAP 与 BASE,建立「一致性是要花钱的」这一判断力。
- 再拆分:读 服务拆分 与 服务治理,理解边界与协作成本。
- 再扛量:读 缓存架构 与 限流降级熔断,掌握保护手段。
- 做综合:最后读 秒杀系统设计,把前面所有手段在一个场景里串起来。
一句话原则
- 先简单后复杂:能用单库事务、唯一约束、状态机解决,就不要上分布式事务。
- 默认不信任:网络会慢、会丢、会重复,调用方要超时、重试、幂等。
- 能观测才敢优化:没有指标和链路,谈性能是拍脑袋。
- 保护优先于极限:先让系统在过载时不崩,再谈峰值吞吐。
关于本站
本站目录体系参考业界公开的知识地图(如 pdai.tech)组织,但每篇正文均为自行整理的表述与示例,重在讲清原理与取舍。