万本电子书0元读

万本电子书0元读

顶部广告

复杂系统架构设计实战:从架构设计原理到*公司面试电子书

想搞定复杂系统设计,应对大厂面试?本书专为你而来!由谷歌工程经理与Netflix高级工程师联合撰写,从CAP定理、分布式缓存等基础原理,到数据库、队列等核心组件,再到URL短、仿Twitter等6大实战案例,全流程拆解系统设计逻辑。书中还配套面试指南与实操技巧,不管你是备战面试的求职者,还是想阶的工程师、技术主管,都能夯实核心能力,轻松应对复杂系统设计挑战!

售       价:¥

纸质售价:¥71.30购买纸书

2人正在读 | 0人评论 6.5

作       者:(印)迪伦德拉·辛哈,(印)特贾斯·乔普拉

出  版  社:机械工业出版社

出版时间:2026-01-21

字       数:20.0万

所属分类: 科技 > 计算机/网络 > 计算机理论与教程

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(条)
  • 读书简介
  • 目录
  • 累计评论(条)
本书系统讲解复杂系统架构设计知识,兼具理论深度与实践价值。全书分为三部分,先阐述系统设计基础概念、分布式系统属性及核心定理与数据结构;再详解DNS、负载均衡器、数据库、分布式缓存等核心组件的设计与实现;最后通过API设计、安全防护等实践内容及URL短、仿Twitter/Instagram/Google Docs等真实案例,结合面试指南与实用手册,助力读者掌握系统设计思维。本书面向软件工程师、面试求职者等群体,既夯实理论基础,又提供实操方法,帮助应对系统设计面试与实际工作中的复杂问题。<br/>【推荐语】<br/>想搞定复杂系统设计,应对大厂面试?本书专为你而来!由谷歌工程经理与Netflix高级工程师联合撰写,从CAP定理、分布式缓存等基础原理,到数据库、队列等核心组件,再到URL短、仿Twitter等6大实战案例,全流程拆解系统设计逻辑。书中还配套面试指南与实操技巧,不管你是备战面试的求职者,还是想阶的工程师、技术主管,都能夯实核心能力,轻松应对复杂系统设计挑战!<br/>【作者】<br/>迪伦德拉·辛哈(Dhirendra Sinha) 谷歌软件工程领导者,天使投资人,曾在多家创业公司担任战略与技术顾问。Dhirendra在软件工程领域深耕近20年,善于构建高度可扩展的复杂分布式系统,长于管理多团队的工程项目,职业生涯横跨思科、甲骨文、雅虎和谷歌等科技巨头,并在多家早期及成熟创业公司担任领导职务。除了扎实的软件工程实践经验,他还持续7年讲授分布式系统设计课程。Dhirendra拥有印度理工学院古瓦哈提分校工学学士学位和美国得克萨斯农工大学理学硕士学位。 特贾斯·乔普拉(Tejas Chopra) Netflix高级软件工程师,主导发了支持Netflix推荐系统和个性化服务的机器学习平台。作为美国顶尖的EB1A(爱因斯坦)签证获得者,Tejas还荣获“40位40岁以下科技精英”奖项,两度登上TEDx演讲台,并当选英国计算机学会(BCS)会士。他经常在云计算、区块、机器学习、软件发和工程领导力等领域的重要会议和专题研讨会上发表演讲。2023年,Tejas获得印度成就者论坛颁发的“国际成就奖”。他在美国亚利桑那州先技术大学担任软件发客座教授,同时也是一位活跃的天使投资人。他拥有美国匹兹堡卡内基梅隆大学电气与计算机工程硕士学位。<br/>
目录展开

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 总结

累计评论(条) 个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部