计算机书籍控

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

本书作者是拥有核心技术部门的一线工作经验,直接体验了大型网站构建与发展过程中的种种生与死,蜕与变,见证了一个网站架构从幼稚走向成熟稳定的历程。
没有晦涩难懂的术语,没有诘屈聱牙的文句,没有故弄玄虚的观点……
明明白白的语句,清清楚楚的文法,干净利落的建议——让读者直接体会网站架构的紧要处,不容马虎的关键点——这恰好是一个优秀的网站架构所必备的要素。
如果说“水不在深,有龙则灵”,那么对于想了解网站架构的读者而言,这本书恰好是“书不在多,有它则行!”
还犹豫什么呢?

目录


第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.2Web前端性能优化42
4.2.1浏览器访问优化42
4.2.2CDN加速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.2B+树vs.LSM树59
4.4.3RAIDvs.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.1CAP原理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.1HTTP重定向负载均衡100
6.2.2DNS域名解析负载均衡101
6.2.3反向代理负载均衡102
6.2.4IP负载均衡103
6.2.5数据链路层负载均衡104
6.2.6负载均衡算法105
6.3分布式缓存集群的伸缩性设计106
6.3.1Memcached分布式缓存集群的访问模型107
6.3.2Memcached分布式缓存集群的伸缩性挑战107
6.3.3分布式缓存的一致性Hash算法109
6.4数据存储服务器集群的伸缩性设计112
6.4.1关系数据库集群的伸缩性设计113
6.4.2NoSQL数据库的伸缩性设计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.1WebService与企业级分布式服务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.1XSS攻击136
8.1.2注入攻击138
8.1.3CSRF攻击139
8.1.4其他攻击和漏洞140
8.1.5Web应用防火墙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.1Wikipedia网站整体架构163
10.2Wikipedia性能优化策略165
10.2.1Wikipedia前端性能优化165
10.2.2Wikipedia服务端性能优化166
10.2.3Wikipedia后端性能优化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
附录BWeb开发技术发展历程215
后记218

书籍下载

免费下载 密码:yrxj

正版书籍

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