一、全书概览

这本书是崔皓将近20年分布式架构经验的总结。他2002年入行,2016年开始在团队中落地分布式架构,踩了不少坑,2017年开始写博客输出,到出书时已经发表了100多篇博文、40多万字的技术长文。写作过程前后花了近两年,读了40多本专业图书作为参考。

书的核心结构很清晰:一条主线——"拆分→调用→协同→计算→存储→调度→高性能与可用性→指标与监控",9个章节(加上最后的架构设计思路章节共10章),每章都按"为什么→是什么→怎么办"三个层次展开。作者把这个三段式对应到"思路→机制→实践",让不同角色的人都能各取所需:业务分析师和项目经理看"为什么",架构师重点看"是什么",程序员和项目管理者看"怎么办"。

全书画了300多张图,这是作者的一个特点——他认为"一图胜千言",复杂的数据流和系统架构用图表达比文字清楚得多。从读者反馈来看,这个策略是对的,不少读者提到"画了很多图,复杂的流程一看图就明白了"。

这本书的定位不是某项技术的深度手册,而是分布式技术的全景索引。优点是覆盖面广、逻辑清晰、入门友好;缺点是面面俱到导致深度不够,部分组件介绍详略不当。适合作为分布式架构的"第一本书",读完之后知道该往哪些方向深入。

同类对比

跟李智慧的《大型网站技术架构》(2013年)相比,崔皓这本书晚了8年,覆盖了更多新技术(如容器调度、Kubernetes、流计算等),而且更强调工程实践层面。但多位读者指出,第一章概述跟李智慧那本书相似度较高,算是站在前人肩膀上的延续。


二、逐章要点

第1章:分布式架构设计的特征与问题

这一章是全书的地图。作者从架构演进讲起,完整梳理了从单体到分布式的9个阶段:

  1. 应用与数据一体模式 → 最原始的状态,所有东西在一个进程里
  2. 应用与数据分离模式 → 数据库独立出来
  3. 缓存与性能的提升 → 引入缓存层
  4. 服务器集群处理并发 → 水平扩展应用层
  5. 数据库读写分离 → 一主多从
  6. 反向代理和CDN → 静态资源加速
  7. 分布式数据库与分表分库 → 数据层水平拆分
  8. 业务拆分 → 按业务边界拆分服务
  9. 分布式与微服务 → 最终形态

然后用一个电商系统的例子,从客户端、CDN、接入层、应用层、存储层逐层剖析分布式架构的组成。最后提炼出分布式架构面临的8大问题,引出后续各章的主题。

读者反馈:多位读者认为这一章价值最高,堪称全书精华浓缩版。有读者建议看完第一章后,根据里面提到的技术点自行找资料深入学习,效果比通读全书更好。

第2章:分布式应用服务的拆分(DDD)

讲的是如何用领域驱动设计(DDD)来做服务拆分。内容覆盖了DDD的核心概念:

  • 通用语言:团队共享的业务术语体系
  • 领域、子域、限界上下文:业务边界的划分方法
  • 实体和值类型:领域对象的区分
  • 聚合和聚合根:一致性边界的确定
  • 领域事件:跨聚合的异步通信

然后演示了从业务流程分析→抽取领域对象→划定限界上下文的完整过程,最后落地到DDD分层架构的代码实现。

实操价值:这部分是偏方法论的内容,作者没有停留在概念层面,而是给了代码分层示例。对于没接触过DDD的团队来说,可以作为入门指引。

第3章:分布式调用

这一章覆盖了分布式系统中服务间通信的三个核心组件:

  • 负载均衡:从分类(L4/L7、硬件/软件)到算法(轮询、加权、最少连接、一致性哈希),讲得比较系统
  • API网关:服务定位、技术原理,提到了Kong、Spring Cloud Gateway等方案
  • 服务注册与发现:概念原理、服务保存策略、可用性保障
  • RPC远程调用:从动态代理→序列化→协议编码→网络传输,用Netty实现了一个完整的RPC框架

这一章是工程实践密度最高的章节之一。Netty实现RPC的部分有实际代码,对于想理解RPC底层原理的开发者很有帮助。

第4章:分布式协同

这是全书技术含量最高的一章,涵盖了分布式系统的经典难题:

  • 分布式互斥:集中互斥、基于许可的互斥、令牌环算法
  • 分布式锁:Redis实现(RedLock)、ZooKeeper实现、分段加锁策略
  • 分布式事务:从ACID→CAP→BASE理论体系,到2PC、TCC两种实践方案
  • 分布式选举:Bully算法、Raft算法、ZAB算法
  • ZooKeeper实战:Znode、Watcher、Version、会话机制、服务群组

Raft和ZAB算法的讲解是这一章的亮点。作者用图示把选举过程、日志复制流程讲得比较清楚。不过读者也反馈,CAP理论部分讲得比较浅,想要深入理解还是得去看论文。

第5章:分布式计算

两种计算范式的对比:

  • MapReduce:批处理模式,从策略理念→体系结构→工作流程→应用实例
  • Stream:流处理模式,以Apache Storm为例,讲了体系结构、并发机制、Stream Grouping、集群架构

这一章相对简短,作者也承认在计算领域涉及不深。Storm的讲解在今天看来有些过时,现在主流已经是Flink和Spark Streaming了。

第6章:分布式存储

从存储层解决分布式问题:

  • RAID磁盘阵列:硬件层面的数据冗余
  • 分布式数据库:分表分库策略、主从复制机制、数据扩容方案
  • 分布式缓存:缓存分片算法(一致性哈希)、Redis集群方案、节点通信、路由策略、扩展收缩、故障发现与恢复

分表分库和主从复制的讲解比较实用,Redis集群方案的覆盖也比较全面。

第7章:分布式资源管理和调度

  • Linux Container资源划分:Namespaces和Cgroups的原理
  • 任务与资源匹配:调度策略
  • 分布式调度架构:中央式调度、共享状态调度、两级调度
  • Kubernetes:Pod、Service、Deployment等核心概念

这一章是面向容器化和云原生趋势的。从容器基础到K8s调度,逻辑递进。

第8章:高性能与可用性

  • 高性能策略(缓存、异步、并行、索引优化等)
  • 高可用策略(冗余、降级、熔断、限流、超时控制等)
  • 容灾设计(同城双活、异地多活)

第9章:指标与监控

  • LMT体系:Logging、Metrics、Tracing三大支柱
  • ELK Stack:Elasticsearch + Logstash + Kibana日志方案
  • Prometheus + Grafana:监控指标采集与可视化
  • Zabbix:传统运维监控
  • 分布式链路追踪:调用链分析

第10章:架构设计思路和要点

总结性的章节,把前面各章串联起来,给出架构设计的整体方法论。


三、关键概念速查

| 概念 | 一句话解释 | 关键要点 | |------|-----------|---------| | CAP定理 | 分布式系统最多同时满足一致性、可用性、分区容错性中的两个 | CP系统牺牲可用性(如ZooKeeper),AP系统牺牲一致性(如Eureka),不存在三者兼得的方案 | | BASE理论 | Basically Available、Soft State、Eventually Satisfied的缩写 | CAP中AP路线的理论基础,接受最终一致性,是分布式系统设计的务实选择 | | 领域驱动设计(DDD) | 以业务领域为核心驱动软件设计的方法论 | 限界上下文划定服务边界,聚合根确定一致性边界,领域事件实现跨服务异步通信 | | Raft算法 | 易于理解的分布式一致性算法,用于领导者选举和日志复制 | 三个子问题:领导者选举、日志复制、安全性;比Paxos更容易实现和教学 | | 一致性哈希 | 解决分布式缓存数据分布和节点伸缩问题的算法 | 虚拟节点解决数据倾斜,增删节点只影响相邻节点,最小化数据迁移量 | | 2PC(两阶段提交) | 分布式事务的同步解决方案 | 协调者→准备阶段→提交/回滚阶段;强一致性但阻塞、单点故障风险 | | TCC(Try-Confirm-Cancel) | 分布式事务的补偿型解决方案 | Try预留资源、Confirm确认执行、Cancel补偿回滚;性能优于2PC但侵入性强 | | 服务网格(Service Mesh) | 服务间通信的基础设施层,以Sidecar模式运行 | 将流量管理、服务发现、负载均衡从应用代码中剥离出来 |


四、核心框架与模型

1. 架构演进九阶段模型

单体一体 → 应用数据分离 → 引入缓存 → 应用集群 → 读写分离 
→ CDN/反向代理 → 分库分表 → 业务拆分 → 微服务/分布式

这个演进路径不是线性时间线,而是根据业务规模和痛点逐步引入的。作者强调每个阶段解决的是上一阶段暴露的问题,不是盲目升级。

2. "为什么→是什么→怎么办"三段式

这是全书的方法论框架:

  • 为什么(思路):技术痛点是什么,为什么要引入这个技术
  • 是什么(机制):技术的核心架构和原理
  • 怎么办(实践):具体的技术选型和落地方案

3. 分布式系统问题域模型

8个问题域构成了分布式架构的核心挑战:

应用拆分(怎么分)→ 调用(怎么通信)→ 协同(怎么合作)→ 计算(怎么算)
→ 存储(怎么存)→ 调度(怎么管资源)→ 性能可用(怎么稳)→ 监控(怎么观测)

4. LMT可观测性体系

Logging(日志)—— 记录发生了什么
Metrics(指标)—— 度量系统状态
Tracing(追踪)—— 还原请求全链路

三者缺一不可,分别回答"出了什么问题"、"问题多严重"、"问题出在哪里"。


五、金句摘录

  1. "中国人讲究'观、为、得','观'就是看别人做事,'为'就是自己尝试用学到的东西做事,之后才能有所'得'。写书也是这样,汇总前人的经验与自己踩过的坑,并分享给需要的人。" —— 前言,作者自述写书动机
  1. "业务处于飞速发展中,面对海量的数据,系统需要提供更加强大的处理能力和扩展能力,分布式架构设计是未来的发展方向。" —— 前言,点明分布式架构的必然趋势
  1. "写书一般更关注某技术是什么,怎么做,而忽略了为什么,其实应该把为什么使用某种技术放在第一的位置。只有知道了为什么,心中才会有目标,才懂得使用这门技术的意义。" —— 前言,全书的方法论基调
  1. "我在看书的时候喜欢通过画图的方式记录系统架构和数据流程,一图胜千言,读完一本书以后,记住的文字可能寥寥无几,对图却印象深刻。" —— 前言,作者的创作风格
  1. "每次遇到问题的时候,我都是头疼医头、脚疼医脚,借助搜索引擎、拜访高人、阅读名书。" —— 前言,坦诚的技术成长路径,也是大多数工程师的真实写照
  1. "分布式架构不是银弹,它带来了扩展性和高可用,同时也引入了复杂性。选择分布式架构的前提是你的业务确实需要它。" —— 第1章,作者对技术选型的务实态度

六、行动清单

每天

  • 画一张系统架构图:作者强调"一图胜千言",每天用10分钟把当天接触的某个系统或流程画成架构图。坚持一个月,系统思维会明显提升。
  • 问三个"为什么":看到某个技术方案时,先问"它解决了什么问题""有没有更简单的方案""它的代价是什么",而不是直接看怎么做。

每周

  • 精读一个分布式组件的官方文档:按照书中提到的组件列表(ZooKeeper、Redis Cluster、Kubernetes等),每周深入一个,从"是什么"层面做到能给别人讲清楚。
  • 写一篇技术总结:用"为什么→是什么→怎么办"的框架,把本周学到的内容整理成文档。输出是最好的学习方式。

每月

  • 对比两个技术方案的取舍:比如2PC vs TCC、CP vs AP、Raft vs Paxos,从一致性、性能、复杂度、适用场景四个维度做对比分析,形成自己的技术决策框架。
  • 做一次架构Review:回顾当前项目的架构设计,对照书中的9个问题域,看看哪些地方做得好、哪些地方有改进空间。尤其是监控和容灾,往往是容易被忽视的环节。

七、一句话总结

一本分布式架构的全景索引书——覆盖面广、图示丰富、入门友好,适合作为从单体走向分布式的第一本书,但深度不足以替代各领域的专项书籍。


八、读者热议

  1. "本书整体上值得推荐,尤其是第一章的内容,对分布式系统架构所涉及的技术进行了高浓度的概括,正书看完之后,也大概能知道哪里需要查漏补缺。" —— 不停息的狮子🦁,微信读书,33赞 认同度:高。 多位读者表达了相同观点,第一章作为技术地图的价值得到普遍认可。
  1. "惊喜,把我十几年的知识盲点打破,并用知识点串了起来,但我知道这还远远不够,学海无涯。希望出2版,增加内容,喜欢作者举重若轻的描写。" —— 娓娓道来,微信读书 认同度:高。 "把知识点串起来"是对这类全景式书籍的最高评价,说明作者在知识组织上下功夫了。
  1. "虽然有很多细节我并不了解,但思想我觉得讲的通俗易懂,也勾起了我深入了解的兴趣。这本书在我心里是值得反复看的。" —— Jarvis,微信读书,40赞 认同度:高。 非科班出身的读者反馈尤其正面,说明作者的写作风格确实做到了"通俗易懂"。
  1. "系统、层次递进的介绍主流后端技术栈,但是每个点介绍的都不全面,可以详细阅读第一章,根据第一章介绍的内容找资料学习,而且在阅读的过程中感觉某些技术作者工作中并没有深度使用,介绍的不准确,但是当做一本索引书阅读还是不错的。" —— 2.5,微信读书,6赞 认同度:中偏高。 "索引书"的定位很准确,但"某些技术作者工作中并没有深度使用"这个批评需要理性看待——一个人不可能对所有分布式组件都有深度实践。
  1. "书很全面,同时因为全面而不深入,大部分是使用层面介绍。因为全,所以面向的人群也比较广泛,于我而言,更倾向于前三章,拆分,调用和协同!" —— 奋斗,微信读书 认同度:中偏高。 前三章(拆分、调用、协同)确实是全书的精华所在,作者在这些领域的工作经验也最丰富。
  1. "之前对分布式只有零星的概念,这本书帮着系统的梳理了一下。堪称程序员的第一本分布式系统入门书。" —— 人球分过,微信读书 认同度:高。 "第一本分布式入门书"这个评价简洁到位。
  1. "读完肯定还是有收获的。" —— 逆天子,微信读书,13赞 认同度:高。 虽然带了点"虽然但是"的转折,但结论是正面的。作为2024年读了60本技术书的读者,他的评价有一定参考权重。

笔记生成时间:2026-04-28 | 数据来源:微信读书、智谱搜索、Exa


相关笔记

同作者仅有此篇 同主题: