高扩展性网站的50条原则txt,chm,pdf,epub,mobi下载 作者:[美] Martin L. Abbott/[美]Michael T. Fisher 出版社: 人民邮电出版社 原作名: Scalability Rules: 50 Principles for 译者:张欣/杨海玲 出版年: 2012-6-3 页数: 238 定价: 35.00元 装帧: 平装 丛书: 图灵程序设计丛书 ISBN: 9787115275721 内容简介 · · · · · ·《高扩展性网站的50条原则》给出了设计高扩展网站的50条原则,如不要过度设计、设计时就考虑扩展性、把方案简化3倍以上、减少DNS查找、尽可能减少对象等,每个原则都与不同的主题绑定在一起。大部分原则是面向技术的,只有少量原则解决的是与关键习惯和方法有关的问题,当然,每个原则都对构建可扩展的产品至关重要。 主要内容包括: 通过克隆、复制、分离功能和拆分数据集提高网站扩展性; 采用横向扩展方案代替纵向扩展; 在不损害网站可扩展性的前提下,最大程度地利用数据库; 避免不必要的重定向和冗余的二次检查; 在不引入复杂性的前提下,更加充分地使用缓存和内容分发网络; 要求网站设计具备容错、优雅降级和易回滚的功能; 设计系统时尽可能选择无状态实现,如果确实需要状态,做到合理高效; 有效利用异步通信; 无论你的网站刚刚起步,还是正在设计开发过程中,或者已经成熟运转了很长... 作者简介 · · · · · ·作者简介: Martin L. Abbott 业界资深管理者,曾参与管理过多家世界500强企业和创业公司。AKF Partners公司创始人。曾任Quigo公司首席运营官(该公司后被AOL收购),eBay公司高级副总裁和首席技术官,还曾在Gateway和摩托罗拉担任重要职位。现任多家技术公司董事,多所高校、公共机构以及私企的咨询顾问。Martin分别于西点军校和佛罗里达大学取得计算机学士和硕士学位,并参加过哈佛大学商学院高级经理培训,目前在西储大学攻读博士学位。 Michael T. Fisher 业界资深管理者,曾参与管理过多家世界500强企业和创业公司。AKF Partners公司创始人。曾任Quigo公司首席技术官、总裁,PayPal公司工程和架构部门副总裁。曾在通用电器工作7年,帮助制定公司的技术战略。目前担任多家私企和非营利机构的董事和顾问... 目录 · · · · · ·目 录第1章 化简方程 1 1.1 原则1:不要过度设计 2 1.2 原则2:设计时就考虑扩展性(D-I-D方法) 6 1.2.1 设计 7 1.2.2 实现 8 · · · · · ·() 目 录 第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 · · · · · · () "高扩展性网站的50条原则"试读 · · · · · ·感谢你对本书感兴趣!本书既可以作为初级读物,又可以作为复习资料和简单的参考手册,帮助每一位工程师、架构师、管理者开发和维护可扩展的互联网产品。本书设计了一系列原则,每个原则都与不同的主题绑定在一起。大部分原则是面向技术的,只有少量的原则解决的是与关键的习惯和方法有关的问题,当然,每个原则都对构建可扩展的产品至关重要。这些原则的深度和关注点各不相同。有些原则... |
原以为会很枯燥
最新力作,好看
有深度
感觉学到了非常多的知识