高扩展性网站的50条原则

978-7-115-41759-6
作者: 【美】Martin L. AbbotMichael T. Fisher
译者: 杨海玲张欣
编辑: 赵轩

图书目录:

第 1 章 化简方程................................................................................................ 1

1.1 原则1:不要过度设计............................................................................. 2

1.2 原则2:设计时就考虑扩展性(D-I-D 方法) ....................................... 6

1.2.1 设计................................................................................................ 7

1.2.2 实现................................................................................................ 8

1.2.3 部署................................................................................................ 8

1.3 原则3:把方案一简再简....................................................................... 10

1.3.1 如何简化范围.............................................................................. 10

1.3.2 如何简化设计.............................................................................. 11

1.3.3 如何简化实施.............................................................................. 12

1.4 原则4:减少DNS 查找......................................................................... 13

1.5 原则5:尽可能减少对象....................................................................... 16

1.6 原则6:使用同一**的网络设备........................................................ 19

1.7 小结.......................................................................................................... 21

参考资料........................................................................................................... 21

第 2 章 分布工作.............................................................................................. 23

2.1 原则7:横向复制(X 轴原则)............................................................ 25

2.2 原则8:拆分不同的东西(Y 轴原则)................................................ 29

2.3 原则9:拆分相近的东西(Z 轴原则) ................................................ 32

2.4 小结.......................................................................................................... 34

参考资料........................................................................................................... 34第3 章 横向扩展设计..................................................................................... 35

3.1 原则10:设计横向扩展方案.................................................................. 36

3.2 原则11:采用经济型系统...................................................................... 39

3.3 原则12:横向扩展数据中心.................................................................. 42

3.4 原则13:利用云技术进行设计.............................................................. 48

3.5 小结.......................................................................................................... 50

参考资料........................................................................................................... 50

第4 章 使用正确的工具................................................................................. 51

4.1 原则14:合理使用数据库...................................................................... 52

4.2 原则15:防火墙,到处都是防火墙...................................................... 59

4.3 原则16:积极利用日志文件.................................................................. 63

4.4 小结.......................................................................................................... 66

参考资料........................................................................................................... 66

第5 章 不要重复工作..................................................................................... 67

5.1 原则17:不要立即检查刚做过的工作.................................................. 68

5.2 原则18:停止重定向............................................................................. 72

5.3 原则19:放松时序约束.......................................................................... 77

5.4 小结.......................................................................................................... 80

参考资料........................................................................................................... 80

第6 章 积极利用缓存..................................................................................... 81

6.1 原则20:利用CDN................................................................................ 82

6.2 原则21:使用过期头............................................................................. 85

6.3 原则22:缓存Ajax 调用........................................................................ 90

6.4 原则23:利用页面缓存.......................................................................... 95

6.5 原则24:利用应用缓存.......................................................................... 98

6.6 原则25:利用对象缓存........................................................................ 102

6.7 原则26:把对象缓存放在自己的“层”上........................................ 1056.8 小结........................................................................................................ 107

参考资料......................................................................................................... 107

第7 章 从错误中吸取教训.......................................................................... 109

7.1 原则27:积极地学习........................................................................... 110

7.2 原则28:不要依靠QA 发现失误........................................................ 113

7.3 原则29:没有回退功能的设计是失败的设计.................................... 117

7.4 原则30:讨论失败并从中吸取教训.................................................... 120

7.5 小结........................................................................................................ 124

参考资料......................................................................................................... 124

第8 章 数据库原则........................................................................................ 125

8.1 原则31:注意代价高的关系............................................................... 126

8.2 原则32:使用类型正确的数据库锁.................................................... 130

8.3 原则33:不要使用多阶段提交........................................................... 133

8.4 原则34:不要使用SELECT FOR UPDATE ........................................ 135

8.5 原则35:不要选择所有数据............................................................... 137

8.6 小结........................................................................................................ 140

参考资料......................................................................................................... 140

第9 章 容错设计与故障控制..................................................................... 141

9.1 原则36:采用隔离故障的“泳道”.................................................... 142

9.2 原则37:**不要信任单点故障....................................................... 148

9.3 原则38:避免系统串联....................................................................... 151

9.4 原则39:确保能够启用/禁用功能...................................................... 155

9.5 小结........................................................................................................ 158

第 10 章 避免或分发状态............................................................................ 159

10.1 原则40:努力实现无状态................................................................. 161

10.2 原则41:尽可能在浏览器端维护会话.............................................. 16410.3 原则42:利用分布式缓存存放状态.................................................. 167

10.4 小结...................................................................................................... 170

参考资料......................................................................................................... 170

第 11 章 异步通信和消息总线................................................................... 171

11.1 原则43:尽可能使用异步通信.......................................................... 172

11.2 原则44:确保消息总线能够扩展...................................................... 175

11.3 原则45:避免让消息总线过度拥挤.................................................. 179

11.4 小结...................................................................................................... 182

第 12 章 其他原则.......................................................................................... 183

12.1 原则46:慎用第三方解决方案扩展.................................................. 184

12.2 原则47:清除、归档和成本合理的存储.......................................... 187

12.3 原则48:删除事务处理中的商业智能.............................................. 192

12.4 原则49:设计能够监控的应用.......................................................... 195

12.5 原则50:要能胜任............................................................................. 199

12.6 小结...................................................................................................... 202

参考资料......................................................................................................... 202

第 13 章 原则回顾和优先级划分.............................................................. 203

13.1 评估扩展项目和主动权的风险 收益模型......................................... 204

13.2 扩展原则的收益/优先级等级.............................................................. 235

13.3 小结...................................................................................................... 238

详情

《高扩展性网站的50条原则》给出了设计高扩展网站的50条原则,如不要过度设计、设计时就考虑扩展性、把方案简化3倍以上、减少DNS查找、尽可能减少对象等,每个原则都与不同的主题绑定在一起。大部分原则是面向技术的,只有少量原则解决的是与关键习惯和方法有关的问题,当然,每个原则都对构建可扩展的产品至关重要。  

图书摘要

相关图书

D3 4.x数据可视化实战手册(第2版)
D3 4.x数据可视化实战手册(第2版)
反应式Web应用开发
反应式Web应用开发
全栈工程师Web开发指南
全栈工程师Web开发指南
用户体验可视化指南
用户体验可视化指南
关联数据:万维网上的结构化数据
关联数据:万维网上的结构化数据
Web前端开发精品课 HTML CSS JavaScript基础教程
Web前端开发精品课 HTML CSS JavaScript基础教程

相关文章

相关课程