大型网站技术架构_核心原理与案例分析_李智慧.Pdf
书籍目录
第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.7 使用分布式文件系统和分布式数据库系统9
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. HDFS61
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.3 反向代理负载均衡102
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
**** Hidden Message *****
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
回复
举报
pluto6203
pluto6203
当前离线
积分535
static/image/common/userinfo.gif
http://www. /uc_server/avatar.php?uid=10053&size=middle
[*]TA的每日心情
source/plugin/dsu_paulsign/img/emot/kx.gif
开心
昨天 17:04签到天数: 78 天
常住居民II
0
主题194
帖子535
积分
http://www.zxit8.com/data/attachment/common/1f/common_24_usergroup_icon.gif
年度VIP会员
积分535
发消息
static/image/common/online_member.gif
发表于 2018-3-20 11:31:49
|
显示全部楼层
hahahahahaha
页:
[1]