书籍详情

高扩展性网站的50条原则

高扩展性网站的50条原则

作者:(美) Martin L. Abbott Michael T. Fisher 著,张欣 ,杨海玲 译

出版社:人民邮电出版社

出版时间:2012-06-01

ISBN:9787115275721

定价:¥35.00

购买这本书可以去
内容简介
  网站建设是一项复杂的工程,随着规模的扩大,许多网站势必会遇到严重的性能和可扩展性问题。大量用户涌入时如何保证网站不崩溃?如何缩短页面载入时间?这都是摆在网站开发和运维人员面前迫待解决的问题。 《高扩展性网站的50条原则》作者凭借他们在世界上业务流量最高的网站中积累的管理经验,针对性能测试到IT管理等诸多实际问题,总结出了高扩展性网站建设的50条最佳原则。这些原则适用于所有前端和后端系统,帮助你应对规模迅速增大的网站。 本书主要内容包括: 通过克隆、复制、分离功能和拆分数据集提高网站扩展性; 采用横向扩展方案代替纵向扩展; 在不损害网站可扩展性的前提下,最大程度地利用数据库; 避免不必要的重定向和冗余的二次检查; 在不引入复杂性的前提下,更加充分地使用缓存和内容分发网络; 要求网站设计具备容错、优雅降级和易回滚的功能; 设计系统时尽可能选择无状态实现,如果确实需要状态,做到合理高效; 有效利用异步通信; 无论你的网站刚刚起步,还是正在设计开发过程中,或者已经成熟运转了很长时间,你都能从书中找到很有针对性的指导原则,提高网站的可扩展性。
作者简介
  Martin L. Abbott,业界资深管理者,曾参与管理过多家世界500强企业和创业公司。AKF Partners公司创始人。曾任Quigo公司首席运营官(该公司后被AOL收购),eBay公司高级副总裁和首席技术官,还曾在Gateway和摩托罗拉担任重要职位。现任多家技术公司董事,多所高校、公共机构以及私企的咨询顾问。Martin分别于西点军校和佛罗里达大学取得计算机学士和硕士学位,并参加过哈佛大学商学院高级经理培训,目前在西储大学攻读博士学位。 Michael T. Fisher,业界资深管理者,曾参与管理过多家世界500强企业和创业公司。AKF Partners公司创始人。曾任Quigo公司首席技术官、总裁,PayPal公司工程和架构部门副总裁。曾在通用电器工作7年,帮助制定公司的技术战略。目前担任多家私企和非营利机构的董事和顾问。Michael毕业于西点军校,是六西格玛黑带大师,目前在西储大学攻读博士学位。
目录
第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:把对象缓存放在自己的“层”上    105
6.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:尽可能在浏览器端维护会话    164
10.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
猜您喜欢

读书导航