想搞定复杂系统设计,应对大厂面试?本书专为你而来!由谷歌工程经理与Netflix高级工程师联合撰写,从CAP定理、分布式缓存等基础原理,到数据库、队列等核心组件,再到URL短、仿Twitter等6大实战案例,全流程拆解系统设计逻辑。书中还配套面试指南与实操技巧,不管你是备战面试的求职者,还是想阶的工程师、技术主管,都能夯实核心能力,轻松应对复杂系统设计挑战!
售 价:¥
纸质售价:¥71.30购买纸书
6.5
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐

Preface 前言
About the Author作者简介
Introduction of the Reviewers审校者简介
目录
Part1 第一部分 系统设计基础
Chapter1 第1章 系统设计基础知识
1.1 什么是系统设计
1.2 系统设计的类型有哪些
1.3 系统设计在业界的重要性
1.4 凸显系统设计重要性的实践案例
1.5 总结
Chapter2 第2章 分布式系统属性
2.1 酒店客房预订示例
2.2 一致性
2.3 可用性
2.4 理解分区容错性
2.5 延迟
2.6 持久性
2.7 可靠性
2.8 容错性
2.9 可扩展性
2.10 总结
Chapter3 第3章 分布式系统核心定理和数据结构
3.1 CAP定理
3.2 PACELC定理
3.3 BGP
3.4 FLP不可能性定理
3.5 一致性哈希
3.6 布隆过滤器
3.7 计数最小草图
3.8 超对数计数
3.9 总结
Part2 第二部分 分布式系统的核心组件
Chapter4 第4章 分布式系统的基础组件:DNS、负载均衡器与应用网关
4.1 DNS探析
4.2 DNS的可扩展性、可靠性与一致性
4.3 负载均衡器
4.4 应用网关
4.5 微服务架构
4.6 云原生部署方案
4.7 本地化部署方案
4.8 总结
Chapter5 第5章 设计与实现系统组件——数据库与存储
5.1 数据库
5.2 键值存储
5.3 可扩展性与数据复制
5.4 实现get和put函数
5.5 键值存储的容错机制与故障识别
5.6 系统设计面试:键值存储的设计要点与策略
5.7 DynamoDB
5.8 列族数据库
5.9 HBase
5.10 图数据库
5.11 Neo4j图数据库
5.12 关系建模与图建模
5.13 总结
5.14 参考文献
Chapter6 第6章 分布式缓存
6.1 什么是缓存
6.2 设计分布式缓存
6.3 主流分布式缓存方案
6.4 总结
Chapter7 第7章 发布/订阅系统与分布式队列
7.1 分布式系统的演进历程
7.2 设计发布/订阅系统
7.3 Kafka
7.4 Kafka Streams
7.5 Kinesis
7.6 总结
Part3 第三部分 系统设计实践
Chapter8 第8章 系统组件的设计与实现:API、安全与指标
8.1 REST API
8.2 gRPC API
8.3 对比REST与gRPC
8.4 API安全
8.5 分布式系统日志
8.6 分布式系统的指标
8.7 分布式系统的告警
8.8 分布式系统的链路追踪
8.9 最佳实践
8.10 总结
Chapter9 第9章 系统设计——URL短链服务
9.1 实际应用场景
9.2 客户端API需求
9.3 估算与计算
9.4 系统设计
9.5 需求验证
9.6 总结
Chapter10 第10章 系统设计——邻近服务
10.1 实际应用场景
10.2 功能性需求
10.3 非功能性需求
10.4 客户端API需求
10.5 估算与计算
10.6 系统设计
10.7 需求验证
10.8 总结
Chapter11 第11章 设计仿Twitter服务
11.1 功能性需求
11.2 非功能性需求
11.3 数据模型
11.4 规模计算
11.5 高层系统设计
11.6 设计推文服务
11.7 设计用户服务
11.8 低层系统设计——时间线服务
11.9 设计搜索服务
11.10 其他考量因素
11.11 总结
Chapter12 第12章 设计仿Instagram服务
12.1 功能性需求
12.2 非功能性需求
12.3 设计数据模型
12.4 规模计算
12.5 高层系统设计
12.6 低层系统设计
12.7 其他考量因素
12.8 总结
Chapter13 第13章 设计仿Google Docs服务
13.1 功能性需求
13.2 非功能性需求
13.3 数据模型
13.4 规模计算
13.5 高层系统设计
13.6 低层系统设计
13.7 其他考量因素与最佳实践
13.8 总结
Chapter14 第14章 设计仿Netflix服务
14.1 功能性需求
14.2 非功能性需求
14.3 设计数据模型
14.4 规模计算
14.5 高层系统设计
14.6 低层系统设计
14.7 CDN
14.8 总结
Chapter15 第15章 面试指南
15.1 系统设计面试备考指南
15.2 面试要点与技巧
15.3 总结
Chapter16 第16章 系统设计实用手册
16.1 针对具体的应用场景,如何选择数据存储方案
16.2 针对具体的应用场景,如何选择数据结构
16.3 针对不同的应用场景,如何选择组件
16.4 针对不同的应用场景,如何选择协议
16.5 针对不同的核心挑战,采用何种解决方案
16.6 总结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜