同步阅读进度,多语言翻译,过滤屏幕蓝光,评论分享,更多完整功能,更好读书体验,试试 阅读 ‧ 电子书库
关键利器
随机森林、朴素贝叶斯估算器、表现层状态转换(RESTful services)、Gossip协议、最终一致性、分片数据、逆熵、拜占庭共识(Byzantine quorum)、纠删码、向量时钟(1)……走进亚马逊的某场会议,你或许会一时间觉得自己误入了计算机科学的讲堂。
翻阅当前关于软件架构的教科书,你会发现,里面很少有亚马逊没有运用过的模式。我们会用到高性能交易系统、复杂渲染和对象缓存、流程和排队系统、商业智能和数据分析、机器学习和模式识别、神经网络和基于概率的决策,以及各种各样的其他技术。虽然我们的许多系统都以最新的计算机科学研究为基础,但这往往并不够:我们的架构师和工程师还必须将研究往学术界尚未涉足的方向推进才行。我们面临的许多问题在教科书上都找不到解决方案,因此,我们便发明了自己的新方法,并且乐在其中。
我们的技术几乎无一例外地以“服务”的形式植入:就像一个个封装好的模块,将需要处理的数据包装起来,仅仅提供一些外部接口来调用功能。这种方法不但减少了意外的连带后果,也使服务能够以自己的节奏发展,而不会影响整体架构的其他部分。面向服务的架构(SOA)是亚马逊技术这一虚拟大楼的地基。多亏了一个由富有思想和远见的工程师与架构师构成的团队,远在SOA成为业界的热门之前,这种方法就已在亚马逊践行。我们的电子商务平台由数百个软件服务构成,这些服务协同合作,旨在提供从商品推荐、订单交付到库存跟踪等一系列功能。举例来说,想要为一位访问亚马逊网的用户构建一个高度个性化的商品介绍页面,要调用200到300种服务来呈现。
任何一个系统若要发展出庞大的规模,状态管理都是核心。许多年前,亚马逊的需求便达到了任何商业解决方案都无法满足的程度:我们的关键数据服务中储存了好几PB(2)的数据,每秒要处理数百万个请求。为了满足这些严苛而特殊的需求,我们已经开发出了数种与众不同、量身定制且功效持久的方案,包括独有的键值存储和单表存储数据库。为此,我们在很大程度上依赖于分布式系统和数据库研究社区的核心原则,并以此为基础进行创造发明。我们率先开发的存储系统表现出了极大的可扩展性,同时在性能、可用性和成本上进行了严格控制。为实现其超大规模性能,这些系统采用了一种创新的数据更新管理方法:通过放宽需要被大量复制传播更新的同步需求,让这些系统依然能在严苛的性能和可供性要求下运行。这些系统都以最终一致性的概念为基础。亚马逊云服务所提供的云储存和数据管理服务的基础架构,便始于亚马逊工程师在数据管理方面取得的突破。举例来说,我们的简单存储服务(S3)、弹性块存储(EBS)和SimpleDB数据库的基本架构,都是从这些独一无二的亚马逊技术中衍生出来的。
亚马逊业务的其他领域,也面临着类似的复杂数据处理和决策问题,比如产品数据获取与分类、需求预测、库存分配和欺诈检测。基于规则的系统可以顺利使用,但随着时间的推移,有可能变得难以维护或者容易损坏。在许多情况下,先进的机器学习技术可以提供更为精确的分类,并能够通过自行复原来适应不断变化的环境。举例来说,我们的搜索引擎会利用后台运行的数据挖掘和机器学习算法来构建主题模型,我们则运用信息抽取算法来识别属性并从非结构化的描绘中抽取实体,使得用户缩小其搜索范围并迅速查出所需产品。我们会考虑大量的搜索相关因素,以预测用户感兴趣的概率,并对搜索排名进行优化。产品的多样性要求我们采用最新的回归技术,如成熟的由决策树构成的随机森林等,以便在排名时将数千种产品属性合并起来。这些幕后软件带来的最终结果是什么?是快速且精准的搜索结果,它能帮你找到想要的那件商品。
如果我们只是让某个研发部门来负责技术,那么在其中投入的努力或许就没有那么多了,但是我们并没有选择这种方式。在我们的团队、我们的所有流程、我们对决策的制定,以及对每项业务的创新方式中,都蕴含着科技的影响。科技深深贯穿于我们所做的每一件事中。
Kindle的同步功能就是一个例子,Kindle服务的设计初衷就是确保不论你在哪里、携带什么样的设备,都可以访问你的图书馆和所有的标记、笔记及书签,这些内容在你的Kindle设备和手机应用程序上都是同步的。技术上的挑战,是让遍布全球100多个国家、拥有数以亿计的图书及数百种型号设备的百万名Kindle用户都能使用这一技术,且确保全天候的可靠性。同步功能的核心是具有最终一致性的复制数据存储,其中有应用定义的冲突解决机制,此机制必须也应该具备处理断网数周甚至更久的设备数据的能力。对于Kindle的用户而言,我们将所有这些技术都隐藏在了幕后。因此,每当打开你的Kindle时,设备都会进行同步并开启正确的页面。套用亚瑟·克拉克(3)的话:就如任何足够先进的科技一样,Kindle也与魔法无异。
好了,如果阅读这封信的一些股东已经看得眼皮都打架了,那就让我用一句话让你们打起精神,在我看来,追求这些技术并非漫无目的——这是直接通往自由现金流的途径。
在我们生活的时代中,可用带宽、磁盘空间和处理能力飞速提高,所有这一切的价格都会继续急速下降。我们的团队中有世界上最在行的技术专家,为解决当今前沿的挑战贡献着力量。就像我此前多次探讨过的一样,在股东长期利益与用户的利益一致这个问题上,我们有着坚定不移的信心。
而且,我们也乐此不疲。发明创造铭刻在我们的DNA之中,技术是我们在升级和优化用户体验时运用的不可或缺的利器。需要学习的东西尚有许多,而我们也期待和希望在学习过程中能够一如既往地乐在其中。能够成为这个团队的一员,我深感自豪。
今天,仍是崭新的第一天。
(1) 均为机器学习领域的名词。
(2) 计算机存储容量单位,1PB=1024TB=1048576GB。
(3) 亚瑟·克拉克,英国科幻小说家,著名的代表作之一是《2001太空漫游》。贝佐斯套用的话的原句为:“任何足够先进的科技,都与魔法无异。”
请支持我们,让我们可以支付服务器费用。
使用微信支付打赏