高扩展性网站的50条原则

百科

《高扩展性网站的50条原则》是2012 年6月由人民邮电出版社出版的图书,作者是(美)Martin L.Abbott M来自ichael 360百科T.Fisher。

  • 书名 高扩展性网站的50条原则
  • 原作品 Scalability Rules: 50 Principles for Scaling Web Sites
  • 译者 张欣 杨海玲
  • 定价 35 元

球声示队叫乐胞本信息

  定价 :¥35.00

  原书名:Scalabil意本ity Rules: 50 Prin来自ciples for Scaling Web Sites

  作者: (美)Marti田来关谓n L.Abbott Michael T.Fisher

  译者: 张欣 杨海玲

  丛书名展井林此针候: 图灵程序设计丛书

  出版社:人民邮电出版社

  ISBN:9787115275721

  上架时间:2012-5-22

  出版日期:2012 年6月

  开本:16开

  页码:1

  版次:1-1

  所属分类: 计算机 > 计算机网络 > Web Server > 综合

编辑推荐

  网站运营的必备宝典

  详细分析网360百科站扩展性的通用原则

  业内专家多年实战总结,亚马逊书店好评如潮

内容害载简介

  《高扩展性网站席火旧副源条交采前停的50条原则》减少dns 查找、尽可能减少对象等,每个原则都与不

  同的主题绑定在一起。大部分原则是面向技术的,只有少量原则解决的是与关键习惯和

  方法有关的问题,当然,来自每个原则都对构建可扩展的产品至关重要。

  《高扩展性网站的50条原则》适合360百科各层次web 开发人员阅读。

  作译者回到顶部↑本书提供作译者介绍

  Martin L. Abbott业界资深管理者,曾参与管理过多家世界500强企业和创业公司。

  AKF Partners公司创始人。曾任Quigo公司首席运营官(该公司后被AOL收购),eB司贵织延算室聚包阶打ay公

  司高级副总裁和首席技术官,还曾在Gateway和摩托罗拉担任重要职位。现任多家技术公

  司董事,多所高校、公共机构以及私企的咨询顾问。Martin分别于西点军校和佛罗里达

  大学取得计算机学士和硕士学位,并参加过哈佛大学商学院高级经理培训,目前在西储

  大学攻读博士学位。

  Michael T. Fisher业界资深管理者,曾参与管理过多家世界500强企业.. << 查看详

目录

  第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 小结 2车夫波1

  参考资料 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

前言

  感谢你对本书感兴趣!本书既可以作为初级读物,又可以作为复习资料和简单的参

  考手册,帮助每一位工程师、架构师、管理者开发和维护可扩展的互联网产品。本书设

  计了一系列原则,每个原则都与不同的主题绑定在一起。大部分原则是面向技术的,只

  有少量的原则解决的是与关键的习惯和方法有关的问题,当然,每个原则都对构建可扩

  展的产品至关重要。这些原则的深度和关注点各不相同。有些原则是通用的,如定义一

  个几乎适用于所有可扩展性问题的模型;而有些原则则是专用的,解释了某种技术,例

  如,如何修改文件头,从而让内容尽量适合缓存。

  快速使用指南

  对于经验丰富的工程师、架构师和管理者来说,都应该首先阅读所有原则开头的说

  明部分,它包含了原则的目的、适用情形、应用方式以及应用理由。读者可以按顺序浏

  览每一章,也可以直接跳到第13章,该章汇总了所有原则的开头说明部分。读过这些说

  明之后,再去阅读对你来说全新的章节或者你感兴趣的章节。

  对于经验较少的读者来说,一下子面对50条原则可能会令你不知所措。我们虽然确

  信你最终会了解所有原则,但是也充分理解你需要根据事情的轻重缓急来分配时间。正

  因为如此,我们专为管理者挑出了5章内容(第1、2、4、7、12章),为软件开发人员挑

  出了5章内容(第1、2、5、10、11章),为技术运维人员挑出了5章内容(第2、3、6、8

  、9章),你应该优先阅读相应章节的内容,这样可以帮助你尽快掌握高扩展性知识。

  无论你具体从事哪种工作,我们都建议你在有时间的时候阅读本书的所有原则,熟

  悉这些原则和概念。本书很薄,也许在某次短途航班上就能读完。

  本书可以作为案头的参考资料。如果你想修正或者重新架构现有产品,那么第13章

  提供了一种方法,可以让你基于成本和预期收益的考虑将这些原则应用到现有平台上。

  如果你已经有了自己的分级方法,那么除非你认为我们的更好,否则还是不要改变它。

  如果你还没有分级方法,那么我们的方法则可以帮助你考虑首先应该应用哪条原则。

  如果你刚开始开发一个新产品,那么这些原则可以算是开发高扩展性产品的最佳实

  践。在这种情况下,第13章提供的划分优先级的方法,可以在你设计产品时指导你最应

  该考虑哪些方面。你应该看看那些最可能使短期和长期需求具有高可扩展性的原则,然

  后将其付诸实践。

  对于所有公司来说,这些原则有助于形成一套推动未来发展的架构理论。选用原则5

  、原则10或者原则15能使你的产品具有高扩展性,并可使用它们提升现有设计。工程师

  和架构师可以针对你选的每一条扩展原则提出一些问题,以确保新的设计能达到高扩展

  性标准。尽管这些原则是具体且固定的,但仍然有可修改的空间,具体要视系统的特殊

  要求而定。如果你和你的团队具有丰富的扩展经验,那么可以对这些原则进行必要的修

  改,使它们适用于特定场景。如果不具备这种经验,那就严格遵守这些原则吧,看看它

  们能实现多大的可扩展性。

  最后要说的是,本书还可当做一本参考手册。第13章是一个快速索引,概述了所有

  原则。无论是遇到了问题,还是想开发一个更具备扩展性的解决方案,都可以查阅第13

  章,以最快的速度找到能脱离困境的原则,或者在新的开发过程中发现最佳路径。除了

  把本书作为案头的参考手册,你还可以用各种方法把它融入到组织中,例如每周实践一

  两个原则并且在技术例会上讨论。

  本书写作意图

  目前市场上还没有什么关于高扩展性的好书。就讲述的方法而言,本书在市场上独

  一无二。它是第一本以面向原则的方式阐述高扩展性的书,又是第一本既提供了相关主

  题概览,又可以作为参考手册的书。对于想将本书应用于现有平台的读者,我们还特别

  准备了一章,对50条原则进行了总结和分级。

  在我们的博客上,得到评论最多的一篇博文是关于将高扩展性作为一门学科的。我

  们和那些研究扩展性问题的专家都认为,当今的科技公司急需高扩展性架构师。在计算

  机系统发展的早期,几乎人人都是程序员,然后逐渐分化为运维人员、DBA、架构师等。

  现在的技术团队是由许多不同学科和专业的人才组成的,其中就缺少高扩展性架构师这

  类人才。

  DBA只需要把自己的事情做完,而不必再教其他人,除非正在带初级DBA。而高扩展

  性架构师则与之不同,他们的一项主要职责就是培养技术人员。高扩展性架构师应该是

  老师与布道者,而不是知识的保密者。我们把50条原则集合起来,为这种教学奠定基础

  ,相信这50条原则能够为扩展自己系统的公司提供指导性帮助。

  如何决定选用哪50条原则

  决定选用哪些原则并不容易。一本书可以轻松地写上100条甚至200条原则。我们选

  用原则的标准是看我们最常向客户提出哪些建议,以及我们针对客户的产品最常推荐哪

  些变更、添加和修正。我们发现在前50条原则之后,推荐率大幅下降。这并不是说,前

  50条原则的推荐率是完全相等的,也不是说第51条就相当不常用。只是说,我们经常向

  客户推荐这50条。这些原则的介绍顺序也并不是根据它们的推荐频率来排的。在第13章

  中,我们对每条原则能降低多少风险,以及实施或采用起来的成本进行了评级,然后根

  据应用这些原则的好处和优先级对它们进行了分组。

  本书和The Art of Scalability 有什么不同

  The Art of Scalability是我们所著的有关该主题的第一本书,重点关注人员、方

  法和技术,而本书则专注于技术。不要误解了,我们始终认为人员和方法是构建高扩展

  性解决方案最重要的因素。毕竟,在制定可扩展的解决方案方面获得成功或遭遇失败的

  是公司,而公司则是由做出贡献的个体和管理制度构成的。扩展的失败不是技术的过失

  ,它是人在构建、选择或集成时犯下的错误。不过我们认为,The Art of Scalability

  一书已经足以解决与高扩展性相关的人员和方法的问题,而我们想要的是在技术方面更

  深入一层。

  本书展开论述了上一本书的第三部分(技术部分)。本书中的内容比上一本书更新

  ,讨论的方式也更技术化。上一本书中讨论过的内容,本书中都进行了扩展,或者用稍

  微不同的方式进行了定义,以便读者更好地理解这些概念。

媒体评论

  "本书是Abbott 和 Fisher的又一力作,我想把它推荐给我们公司的所有工程师。对于

  处理在线业务可扩展性的每一位人士,本书必不可少。"

  --Chris Lalonde,Bullhorn公司副总裁

  "Abbott和Fisher从实践出发,再次以独一无二的方式解决了扩展性难题。目前,

  网站设计要素错综复杂且不断增多,两人将这些难题和挑战总结为50条功能强大、简单

  易用的原则。可以说,本书是关于网站扩展性秘诀的秘籍,它能够指引读者穿越'爆发

  式增长网络难题的迷雾',创建扩展性优良的网站。"

  --Geoffrey Weber,Shutterfly公司副总裁

  "50条原则是Abbott和Fisher多年智慧的结晶,运用这些原则可以避免网站的许多

  特殊问题。这套原则强大、令人信服!"

  --Jonathan Heiliger,Facebook副总裁

标签:
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com