大型网站技术架构:核心原理与案例分析pdf

longgg longgg     2022-10-17     833

关键词:

下载地址:网盘下载

 

 

内容简介

编辑
本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。
本书不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内的各类软件开发从业人员借鉴,了解大型网站的解决方案和开发理念。[1] 

图书目录

编辑
第1篇 概述
1 大型网站架构演化 2
1.1 大型网站软件系统的特点 3
1.2 大型网站架构演化发展历程 4
1.2.1 初始阶段的网站架构 4
1.2.2 应用服务和数据服务分离 4
1.2.3 使用缓存改善网站性能 5
1.2.4 使用应用服务器集群改善网站的并发处理能力 6
1.2.5 数据库读写分离 7
1.2.6 使用反向代理和CDN加速网站响应 8
1.2.8 使用NoSQL和搜索引擎 10
1.2.9 业务拆分 11
1.2.10 分布式服务 11
1.3 大型网站架构演化的价值观 13
1.3.1 大型网站架构技术的核心价值是随网站所需灵活应对 13
1.3.2 驱动大型网站技术发展的主要力量是网站的业务发展 13
1.4 网站架构设计误区 14
1.4.1 一味追随大公司的解决方案 14
1.4.2 为了技术而技术 14
1.4.3 企图用技术解决所有问题 14
1.5 小结 15
2 大型网站架构模式 16
2.1 网站架构模式 16
2.1.1 分层 17
2.1.2 分割 18
2.1.3 分布式 18
2.1.4 集群 19
2.1.5 缓存 20
2.1.6 异步 20
2.1.7 冗余 21
2.1.8 自动化 22
2.1.9 安全 23
2.2 架构模式在新浪微博的应用 23
2.3 小结 25
3 大型网站核心架构要素 26
3.1 性能 27
3.2 可用性 28
3.3 伸缩性 29
3.4 扩展性 30
3.5 安全性 30
3.6 小结 31
第2篇 架构
4 瞬时响应:网站的高性能架构 34
4.1 网站性能测试 35
4.1.1 不同视角下的网站性能 35
4.1.2 性能测试指标 36
4.1.3 性能测试方法 39
4.1.4 性能测试报告 41
4.1.5 性能优化策略 41
4.2 Web前端性能优化 42
4.2.1 浏览器访问优化 42
4.2.2 CDN加速 43
4.2.3 反向代理 44
4.3 应用服务器性能优化 45
4.3.1 分布式缓存 45
4.3.2 异步操作 52
4.3.3 使用集群 53
4.3.4 代码优化 54
4.4 存储性能优化 58
4.4.1 机械硬盘vs. 固态硬盘 58
4.4.2 B+树vs. LSM树 59
4.4.3 RAID vs. HDFS 61
4.5 小结 64
5 万无一失:网站的高可用架构 66
5.1 网站可用性的度量与考核 67
5.1.1 网站可用性度量 67
5.1.2 网站可用性考核 67
5.2 高可用的网站架构 69
5.3 高可用的应用 71
5.3.1 通过负载均衡进行无状态服务的失效转移 72
5.3.2 应用服务器集群Session管理 73
5.4 高可用的服务 76
5.5 高可用的数据 78
5.5.1 CAP原理 79
5.5.2 数据备份 82
5.5.3 失效转移 84
5.6 高可用网站的软件质量保证 85
5.6.1 网站发布 85
5.6.2 自动化测试 86
5.6.3 预发布验证 87
5.6.4 代码控制 88
5.6.5 自动化发布 90
5.6.6 灰度发布 91
5.7 网站运行监控 91
5.7.1 监控数据采集 92
5.7.2 监控管理 93
5.8 小结 94
6 永无止境:网站的伸缩性架构 95
6.1 网站架构的伸缩性设计 97
6.1.1 不同功能进行物理分离实现伸缩 97
6.1.2 单一功能通过集群规模实现伸缩 98
6.2 应用服务器集群的伸缩性设计 99
6.2.1 HTTP重定向负载均衡 100
6.2.2 DNS域名解析负载均衡 101
6.2.4 IP负载均衡 103
6.2.5 数据链路层负载均衡 104
6.2.6 负载均衡算法 105
6.3 分布式缓存集群的伸缩性设计 106
6.3.1 Memcached分布式缓存集群的访问模型 107
6.3.2 Memcached分布式缓存集群的伸缩性挑战 107
6.3.3 分布式缓存的一致性Hash算法 109
6.4 数据存储服务器集群的伸缩性设计 112
6.4.1 关系数据库集群的伸缩性设计 113
6.4.2 NoSQL数据库的伸缩性设计 117
6.5 小结 119
7 随需应变:网站的可扩展架构 121
7.1 构建可扩展的网站架构 122
7.2 利用分布式消息队列降低系统耦合性 123
7.2.1 事件驱动架构 123
7.2.2 分布式消息队列 124
7.3 利用分布式服务打造可复用的业务平台 126
7.3.1 Web Service与企业级分布式服务 128
7.3.2 大型网站分布式服务的需求与特点 129
7.3.3 分布式服务框架设计 130
7.4 可扩展的数据结构 131
7.5 利用开放平台建设网站生态圈 132
7.6 小结 134
8 固若金汤:网站的安全架构 135
8.1 道高一尺魔高一丈的网站应用攻击与防御 136
8.1.1 XSS攻击 136
8.1.2 注入攻击 138
8.1.3 CSRF攻击 139
8.1.4 其他攻击和漏洞 140
8.1.5 Web应用防火墙 141
8.1.6 网站安全漏洞扫描 142
8.2 信息加密技术及密钥安全管理 142
8.2.1 单向散列加密 143
8.2.2 对称加密 144
8.2.3 非对称加密 144
8.2.4 密钥安全管理 145
8.3 信息过滤与反垃圾 146
8.3.1 文本匹配 147
8.3.2 分类算法 148
8.3.3 黑名单 149
8.4 电子商务风险控制 150
8.4.1 风险 151
8.4.2 风控 151
8.5 小结 153
第3篇 案例
9 淘宝网的架构演化案例分析 156
9.1 淘宝网的业务发展历程 157
9.2 淘宝网技术架构演化 158
9.3 小结 162
10 维基百科的高性能架构设计分析 163
10.1 Wikipedia网站整体架构 163
10.2 Wikipedia性能优化策略 165
10.2.1 Wikipedia前端性能优化 165
10.2.2 Wikipedia服务端性能优化 166
10.2.3 Wikipedia后端性能优化 167
11 海量分布式存储系统Doris的高可用架构设计分析 169
11.1 分布式存储系统的高可用架构 170
11.2 不同故障情况下的高可用解决方案 171
11.2.1 分布式存储系统的故障分类 172
11.2.2 正常情况下系统访问结构 172
11.2.3 瞬时故障的高可用解决方案 173
11.2.4 临时故障的高可用解决方案 174
11.2.5 永久故障的高可用解决方案 175
12 网购秒杀系统架构设计案例分析 176
12.1 秒杀活动的技术挑战 177
12.2 秒杀系统的应对策略 177
12.3 秒杀系统架构设计 178
12.4 小结 182
13 大型网站典型故障案例分析 183
13.1 写日志也会引发故障 184
13.2 高并发访问数据库引发的故障 184
13.3 高并发情况下锁引发的故障 185
13.4 缓存引发的故障 185
13.5 应用启动不同步引发的故障 186
13.6 大文件读写独占磁盘引发的故障 186
13.7 滥用生产环境引发的故障 187
13.8 不规范的流程引发的故障 187
13.9 不好的编程习惯引发的故障 188
13.10 小结 188
第4篇 架构师
14 架构师领导艺术 190
14.1 关注人而不是产品 191
14.2 发掘人的优秀 191
14.3 共享美好蓝图 192
14.4 共同参与架构 193
14.5 学会妥协 194
14.6 成就他人 194
15 网站架构师职场攻略 196
15.1 发现问题,寻找突破 197
15.2 提出问题,寻求支持 199
15.3 解决问题,达成绩效 201
16 漫话网站架构师 203
16.1 按作用划分架构师 203
16.2 按效果划分架构师 204
16.3 按职责角色划分架构师 205
16.4 按关注层次划分架构师 205
16.5 按口碑划分架构师 206
16.6 非主流方式划分架构师 207
附录A 大型网站架构技术一览 208
附录B Web开发技术发展历程 215
后记 218

 

 

 

下载地址:网盘下载

 

《大型网站技术架构:核心原理与案例分析》读书笔记系列

作者:13GitHub:https://github.com/ZHENFENG13版权声明:本文为原创文章,未经允许不得转载。笔记目录1.《大型网站技术架构:核心原理与案例分析》读书笔记2.大型网站技术架构(二)--大型网站架构演化 查看详情

《大型网站技术架构:核心原理与案例分析》笔记03

《大型网站技术架构:核心原理与案例分析》笔记011.大型网站核心架构要素。  架构:“最高层次的规划,难以改变的决定。”从这个角度而言,人生规划也是一种架构。选什么学校、学什么专业、进什么公司、找什么对象... 查看详情

读《大型网站技术架构核心原理与案例分析》

读《大型网站技术架构核心原理与案例分析》1人们对于网站的期望是:高可用、高性能、易扩展、可伸缩且安全的网站。大型网站软件系统的特点:高并发,大流量看,高可用,海量数据,用户分布广泛,网络情况复杂,安全... 查看详情

《大型网站技术架构核心原理与案例分析》阅读笔记-01

...够更加清楚的树立大型网站的的技术发展历程,剖析大型网站技术架构模式,深入的讲述大型互联网架构核心原理,并通过一些典型的技术案例来讲述大型网站开发全景视图,该书籍深入的阐述了各种大型网站面临的各种架构问... 查看详情

《大型网站技术架构:核心原理与案例分析》读书笔记

初次阅读:仰视和懵懂第一次看这本书是在2015年年初吧,记得当时与这本书一起读的另外一本书是《淘宝技术这十年》,都可以算是阿里系的书籍。说真话,毕竟是个小菜鸟,对于大厂还是有很多的憧憬的,对于技术大神完全是... 查看详情

《大型网站技术架构:核心原理与案例分析》读后感

 李智慧的著作《大型网站技术架构:核心原理与案例分析》,写得非常好, 本着学习的态度,对于书中的关于性能优化的讲解做了一个思维导图,供大家梳理思路和学习之用。抛砖引玉。   查看详情

《大型网站技术架构:核心原理与案例分析》笔记

目录· 大型网站软件系统的特点· 大型网站架构演化发展历程    · 初始阶段的网站架构        · 需求/解决问题        · 架构&n 查看详情

《大型网站技术架构:核心原理与案例分析》结合需求征集系统分析

  阅读《大型网站技术架构:核心原理与案例分析》第五、六、七章,结合《河北省重大技术需求征集系统》,列举实例分析采用的可用性和可修改性战术,将上述内容撰写成一篇1500字左右的博客阐述你的观点。  ... 查看详情

《大型网站技术架构:核心原理与案例分析》笔记00

《大型网站技术架构:核心原理与案例分析》笔记00大型网站需要解决的问题:1.高并发,大流量2.高可用3.海量数据4.用户分布广泛,网络情况复杂5.安全环境恶劣6.需求快速变更,发布频繁7.渐进式发展:好的互联网产品都是慢... 查看详情

分布式计算,大型网站技术架构:核心原理与案例分析

分布式计算,大型网站技术架构:核心原理与案例分析 这个回答,非常详细。 但是,大部分内容,都来自“大型网站技术架构:核心原理与案例分析”。 最近,初步看了这本书,觉得写得太好了,比较系统和全面。... 查看详情

大型网站技术架构:核心原理与案例分析阅读笔记三

大型网站核心架构要素之性能    在讲架构要素之前,我们首先要了解什么是架构,简单来说,架构就是“最高层次的规划,难以改变的决定”,架构决定了未来的方向和最终的成果。而对于软件架构来说,则是“... 查看详情

《大型网站技术架构:核心原理与案例分析》--读书笔记:大型网站核心架构要素--性能

1.性能   在浏览器端,可能通过浏览器缓存、使用页面压缩、合理布局页面、减少cookie传输等手段改善性能。还可以使用CDN,将网站静态内容分发至离用户最近的网络服务商机房。可以在网站机房部署反向代理服务器... 查看详情

大型网站技术架构:核心原理与案例分析阅读笔记二

大型网站技术架构:核心原理与案例分析阅读笔记二网站架构设计时可能会存在误区,其实不必一味追随大公司的解决方案,也不必为了技术而技术,要根据本公司的实际情况,制定适合本公司发展的网站架构设计,否则会变得... 查看详情

《大型网站技术架构:核心原理与案例分析》笔记06

《大型网站技术架构:核心原理与案例分析》笔记06 架构师领导艺术1.关注人而不是产品。  一定要坚信:一群优秀的人做意见他们热爱的事,一定能取得成功。不管过程多么曲折,不管外人看来多么不可思议不靠谱。所... 查看详情

大型网站技术架构:核心原理与案例分析笔记

1.大型网站软件系统的特点:  高并发,大流量  高可用    海量数据  用户分布广泛,网络情况复杂  安全环境恶劣  需求快速变更,发布频繁  渐进式发展  2.大型网站演变架构  1)初步应用:... 查看详情

《大型网站技术架构》核心原理与案例分析

内容简介  本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web安全... 查看详情

《大型网站技术架构:核心原理与案例分析》阅读笔记三

     今天把第三章《大型网站核心架构要素》的阅读体会和简要概述写一下。        软件架构除了当前的系统功能需求外,还关注性能、可用性、伸缩性、扩展性和安全性这5个要... 查看详情

阅读《大型网站技术架构:核心原理与案例分析》第七章

阅读《大型网站技术架构:核心原理与案例分析》第五、六、七章,结合我们的系统,分析如何增加相应的功能,提高系统的可用性和易用性。   这三章主要讲述的是网站的可用性、伸缩性和可扩展性。    高可... 查看详情