本书是《架构即未来》的姊妹篇。全书共分13章,用成功互联网产品公司首席技术官和企业家的故事,引出了对构建可扩展的产品至关重要的50条规则,可帮助软件研发人员、技术运维人员和管理者修复或重新架构现有产品,了解关于扩展的佳实践并有计划地实施,还可以帮助建立一套架构原则以推动未来的研发。
本书是经典著作《架构即未来》的姊妹篇,聚焦于技术架构本身,提供50条久经考验的互联网技术架构原则,几乎可以支持任何高速增长公司的扩展。硅谷著名互联网企业首席技术官和技术主管现身说法,生动形象地呈现“规则背后的故事”,便于读者理解并运用这些规则解决实际工作中所面临的挑战。
马丁 L.阿伯特(Martin L. Abbott) AKF公司的初创合伙人,曾任Quigo(广告技术初创公司,后来被AOL收购)的首席运营官,负责领导产品策略、产品管理、技术研发和客户服务。他在eBay工作了6年,先后担任技术副总裁、首席技术官和公司高管。
迈克 T. 费舍尔(Michael T. Fisher )AKF公司的初创合伙人,曾任Quigo首席技术官,PayPal负责工程和架构的副总裁。迈克尔用7年时间帮助通用电气公司(GE)制订技术发展战略,并获得了六西格玛黑带大师的荣誉。
目 录
本书赞誉
中文版序
中文版序二
译者序
前言
致谢
作者简介
第1章 大道至简 1
规则1——避免过度设计 4
规则2——方案中包括扩展 9
规则3——三次简化方案 13
规则4——减少域名解析 16
规则5——减少页面目标 19
规则6——采用同构网络 23
总结 24
注释 25
第2章 分而治之 27
规则7——X轴扩展 31
规则8——Y轴拆分 35
规则9——Z轴拆分 39
总结 41
注释 42
第3章 水平扩展 43
规则10——向外扩展 46
规则11——用商品化系统(金鱼而非汗血宝马) 50
规则12——托管方案扩展 53
规则13——利用云 61
总结 64
注释 64
第4章 先利其器 65
规则14——适当使用数据库 71
规则15——慎重使用防火墙 80
规则16——积极使用日志文件 85
总结 88
注释 89
第5章 画龙点睛 90
规则17——避免画蛇添足 93
规则18——停止重定向 98
规则19——放宽时间约束 104
总结 107
注释 107
第6章 缓存为王 109
规则20——利用CDN缓存 113
规则21——灵活管理缓存 117
规则22——利用Ajax缓存 120
规则23——利用页面缓存 128
规则24——利用应用缓存 130
规则25——利用对象缓存 134
规则26——独立对象缓存 137
总结 139
注释 139
第7章 前车之鉴 141
规则27——失败乃成功之母 144
规则28——不靠QA发现错误 151
规则29——不能回滚注定失败 155
总结 160
注释 160
第8章 重中之重 162
规则30——从事务处理中清除商务智能 164
规则31——注意昂贵的关系 168
规则32——正确使用数据库锁 172
规则33——禁用分阶段提交 176
规则34——慎用Select for Update 178
规则35——避免选择所有列 181
总结 183
注释 184
第9章 有备无患 185
规则36——用“泳道”隔离故障 188
规则37——拒绝单点故障 194
规则38——避免系统串联 198
规则39——启用与禁用功能 201
总结 205
第10章 超然物外 206
规则40——力求无状态 208
规则41——在浏览器中保存会话数据 211
规则42——用分布式缓存处理状态 213
总结 216
注释 217
第11章 异步通信 218
规则43——尽可能异步通信 220
规则44——扩展消息总线 224
规则45——避免总线过度拥挤 229
总结 233
第12章 意犹未尽 234
规则46——警惕第三方方案 237
规则47——梯级存储策略 240
规则48——分类处理不同负载 246
规则49——完善监控 250
规则50——保持竞争力 255
总结 257
注释 258
第13章 谋定而动 259
用风险收益模型评估可扩展性项目和举措 259
50条可扩展性规则简述 264
可扩展性规则的利益与优先级排行榜 297
总结 300