《大型网站技术架构:核心原理与案例分析》.pdf——架构系列必看20本技术书籍



书名:大型网站技术架构:核心原理与案例分析
作者:李智慧
出版社:电子工业出版社

这是本算是国内大型网站架构的经典之作,由阿里人李智慧创作,听名字就知道本书很有智慧。

主要从大型网站架构的特点,架构目标(高性能,高可用,可伸缩等)基本理论讲起,并介绍了几个很有特色的案例。

没有晦涩难懂的术语,没有诘屈聱牙的文句,没有故弄玄虚的观点……
明明白白的语句,清清楚楚的文法,干净利落的建议

——让读者直接体会网站架构的紧要处,不容马虎的关键点——这恰好是一个优秀的网站架构所必备的要素。

如果说“水不在深,有龙则灵”,那么对于想了解网站架构的读者而言,这本书恰好是“书不在多,有它则行!”

之前【启明星.架构进阶】群内,群友分享的大型网站架构系列的基础理论大部分出自此书。






扫码添加启明星微信,邀请你加入【启明星.架构进阶】专属小群,群内免费领取《大型网站技术架构:核心原理与案例分析》电子版,一起畅聊学习心得

第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. 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.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

扫码添加启明星微信,邀请你加入【启明星.架构进阶】专属小群,群内免费领取《大型网站技术架构:核心原理与案例分析》电子版,一起畅聊学习心得

《大型网站技术架构:核心原理与案例分析》.pdf——架构系列必看20本技术书籍相关推荐

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

    李智慧<大型网站技术架构-核心原理与案例分析> 性能 可用性 伸缩性 扩展性 安全性 总结 这本书组织的很不错,语言精练,篇幅也不长,对网站架构的要点讲的狠清楚透彻,思路清晰.主要围绕架构 ...

  2. 读书笔记之 大型网站技术架构(核心原理与案例分析)

    前言 坚持看了十几天的书,终于完成了毕业后第一次静下心来,利用业务时间看书并做笔记的成就了.废话不多说,这回看的是一直很膜拜的李智慧大神写的大型网站技术架构-核心原理与案例分析. 简短的读后感 极其推 ...

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

    下载地址:网盘下载 编辑推荐 编辑 本书作者是阿里巴巴网站构建的亲历者,拥有核心技术部门的一线工作经验,直接体验了大型网站构建与发展过程中的种种生与死,蜕与变,见证了一个网站架构从幼稚走向成熟稳定的历 ...

  4. 大型网站技术架构:核心原理与案例分析 mobi_阿里面试官:你会高并发技术吗?...

    前言 据有关数据统计,无论是游戏行业还是互联网行业,无论是软件开发公司还是大型网站,都对高并发技术人才有着巨大的需求.因此,无论为了是面试还是为了工作,学习高并发技术刻不容缓. 当然,高并发相关岗位的 ...

  5. 大型网站技术架构:核心原理与案例分析 mobi_大数据技术经典学习路线

    如果你看完有信心能坚持学习的话,那就当下开始行动吧! 点击链接加入群聊[大数据学习交流群]:想要在大数据这个领域汲取养分,让自己壮大成长.分享方向,行动以前先分享下一个大数据交流分享资源,欢迎想学习, ...

  6. 大型网站架构模式【大型网站技术架构.核心原理与案例分析】(阅读分享)

    这本书分几个章节,其中有一个值得和大家分享的技术知识. 大型网站架构模式中引入了模式概念:每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心.这样,你就能一次又一次地使用该方案而不 ...

  7. 读《大型网站技术架构 核心原理与案例分析+李智慧-高清》有感

    其实作为一个刚入职场的小白(今年才毕业),对于java的领域一开始我是特别喜欢.从一开始的学习ssm框架培训,到现在真正的去公司参加项目.目前为止我进公司快一个月了,先从写测试类开始,用的是testn ...

  8. 把书读薄:大型网站技术架构-核心原理与案例分析(第四篇 架构师)

    14 架构师领导艺术 职能:架构设计,软件开发,管理职能(规划产品,估算人力资源,估算时间资源,安排人员职责分工,确定计划里程碑,指导工程师工作,过程风险评估与控制). 是工程师的榜样,要做好表率. ...

  9. 【撸码师读书笔记】 大型网站技术架构——核心原理与案例分析

    2019独角兽企业重金招聘Python工程师标准>>> 合理的预估系统的瓶颈及制定有效伸缩性架构预案: 架构设计应从性能,可用性,伸缩性,扩展性及安全这五个要素方面出发: 与传统企业 ...

  10. 大型网站技术架构·核心原理与案例分析 第八章·固若金汤:网站的安全架构思维导图

    固若金汤:网站的安全架构思维导图

最新文章

  1. 27年安全技术老兵无奈“一摔成名”,谭晓生自述一年创业进展
  2. java基础---serializable的作用
  3. 2017年第八届蓝桥杯C/C++ A组国赛 —— 第一题:平方十位数
  4. Android零基础入门第7节:搞定Android模拟器,开启甜蜜之旅
  5. String、String Buffer、StringBuilder区别与比较
  6. 为什么女生会有体香?
  7. Gartner:2019年公有云服务六大趋势
  8. java printwriter实例_PrintWriter做过滤流+FileWriter案例分析
  9. commix 命令注入获取信息 (好东西)
  10. mysql NOW,CURRENT_TIMESTAMP,SYSDATE 之间的区别
  11. 浅谈压缩感知(二十二):压缩感知重构算法之正则化正交匹配追踪(ROMP)
  12. CentOS部署JavaWeb项目
  13. 【每日早报】2019/09/17
  14. 1万条数据大概占多大空间_国漫丨2019年上半年漫画数据报告
  15. Python:PrettyTable格式化输出数据
  16. 王者荣耀购买装备----笔记
  17. 纯CSS实现图片列表悬停放大效果的方法
  18. 为什么摸了一天的鱼,你还是感觉这么累?
  19. 单招计算机面试技巧和注意事项,单招面试技巧和注意事项有哪些
  20. linux 下启动 jar包

热门文章

  1. CSS:行内/内部样式/外部样式的使用方式示例
  2. 射频识别技术漫谈(23)——ISO15693的载波、调制与编码
  3. win10误删的注册表能还原吗_win10电脑注册表修改后如何恢复
  4. ITOP4412开发板学习前的准备2 -- 安装ADB驱动
  5. Matplotlib中文乱码解决方案(1):`matplotlib.font_manager` 自定义字体
  6. 生成属于你自己的字库——《ChiroGAN》论文解析
  7. 2018年下半年系统集成项目管理工程师下午真题及答案解析
  8. 提取swf素材_SWF素材采集软件(SWF Decompiler Magic)V5.2.2.21 免费版
  9. 获取路由器后台账号密码
  10. 常见路由器初始密码合集