感谢你对本书感兴趣!本书既可以作为初级读物,又可以作为复习资料和简单的参考手册,帮助每一位工程师、架构师、管理者开发和维护可扩展的互联网产品。本书设计了一系列原则,每个原则都与不同的主题绑定在一起。大部分原则是面向技术的,只有少量的原则解决的是与关键的习惯和方法有关的问题,当然,每个原则都对构建可扩展的产品至关重要。这些原则的深度和关注点各不相同。有些原则是通用的,如定义一个几乎适用于所有可扩展性问题的模型;而有些原则则是专用的,解释了某种技术,例如,如何修改文件头,从而让内容尽量适合缓存。 快速使用指南 对于经验丰富的工程师、架构师和管理者来说,都应该首先阅读所有原则开头的说明部分,它包含了原则的目的、适用情形、应用方式以及应用理由。读者可以按顺序浏览每一章,也可以直接跳到第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一书已经足以解决与高扩展性相关的人员和方法的问题,而我们想要的是在技术方面更深入一层。 本书展开论述了上一本书的第三部分(技术部分)。本书中的内容比上一本书更新,讨论的方式也更技术化。上一本书中讨论过的内容,本书中都进行了扩展,或者用稍微不同的方式进行了定义,以便读者更好地理解这些概念。
高扩展性网站的50条原则——前言
书名: 高扩展性网站的50条原则
作者:
出版社: 人民邮电出版社
原作名: Scalability Rules: 50 Principles for
译者: 杨海玲 | 张欣
出版年: 2012-6-3
页数: 238
定价: 35.00元
装帧: 平装
丛书: 图灵程序设计丛书
ISBN: 9787115275721