架构解密:从分布式到微服务(txt+pdf+epub+mobi电子书下载)


发布时间:2020-05-15 08:47:53

点击下载

作者:Leader-us

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

架构解密:从分布式到微服务

架构解密:从分布式到微服务试读:

内容简介

本书主要阐述会计相关法律知识的部分内容。全书共三章,具体内容包括:会计法律知识、经济分布式架构与微服务平台是当今IT界的关键技术,也是资深软件工程师和系统架构师必须掌握的核心技术。本书以从传统分布式架构迁移到基于容器技术的微服务架构为主线,全面、透彻地介绍了与分布式架构及微服务相关的知识和技术。本书一开始并没有提及分布式的枯燥理论,而是讲述了一段精彩的IT发展史,其中重点讲述了大型机、UNIX小机器的没落与X86平台的崛起,从而巧妙地引出CPU、内存、网络、存储的分布式演进过程,这恰恰是分布式软件系统赖以运行的“物质基础”。然后简明扼要地介绍了进行系统架构所必需的网络基础,并详细介绍了分布式系统中的经典理论、设计套路及RPC通信,对内存、SOA架构、分布式存储、分布式计算等进行了深度解析,最后详细介绍了全文检索与消息队列中间件,以及微服务架构所涉及的重点内容。

本书是Leader-us多年架构经验的倾情分享,主要面向关注分布式架构及微服务,以及有志于成为实力派架构师的IT人士。

作为一名架构师,我们要专业,要能看懂代码,即使光着臂膀去机房,也能独当一面!即使同事搞不定问题,或者撂挑子,你也能给老大一个坚定的眼神:不怕,有我在!还能在会议上滔滔不绝,如若无人,让不懂技术的妹子看你时眼神迷离,就好象落霞与孤鹜齐飞!——Leader-us

写给像笔者的你

我们都是IT人,所以,我们注定了很像。

我们可能小时候都挺聪明,学习也挺好,也早恋(可能纯洁度不同)。这一切都是有关联的,因为早恋所以你写情书,所以你有了点文采,又所以喜欢读笔者的文字,于是,你成了笔者的第1个读者,虽然我们分布在不同的“机房”中。

我们因为都受过严格、系统的全面教育,所以骨子里是温顺的,性格上是温柔的。我们因为在智商上高于情商的概率是99%,所以多年独占风云榜之状元称谓——呆。我们一起努力的结果,是验证了那句话——科学无国界。在《生活大爆炸》《IT狂人》等热播美剧中,我们终于找到祖国之外的同类,于是我们开始自恋地打广告:我很呆但我很幽默。

不知道女友要什么东西啊,分手了才知道人家暗示了那么多次自己都不懂啊!

我们都是高学历的概率是99%,我们都近视的概率是99%,我们未富先胖的概率是99%,我们未老先白头的概率是99%,我们目前在北上广或者未来在北上广的概率是99%,我们背井离乡的概率是99%,我们的计算机内存超过4GB的概率是99%,我们喜欢新计算机胜过于喜欢新女友的概率是99%。

我们曾经是众人眼中的宠儿,但不知从何时起,沦落为新一代的“农民工”。在《死神来了之中国特供版》里,每年都有几个IT精英注定被永远地带走,我们在默默悲伤的同时,心里也在默默祈祷:O My God,让我活到82岁吧,就算没有28岁的小娇妻。

我们听过最多的公司是微软,我们最离不开的品牌是Windows,虽然对于它们的评价,我们无法达成一致;同样,对于马云及乔布斯,我们也有着不同的评价,虽然他们缔造的“帝国”对我们的生活都产生了重要影响。

最后也是最重要的一点,我们都生活在一个有意思的时代,这个时代无法用任何哲学理论来左右我们的思想和行为。金钱向左,理想朝右,我们始终不放弃一个宏伟梦想:寻找最优秀的算法,收获金钱,实现理想。

吐槽归吐槽,言归正传,笔者假设你跟笔者一样是个有为青年,目标是成为IT精英,目前烦透了信息系统、Web及低水平的重复编码工作,打算进阶架构师队伍,并下定决心潜心修行一年半载,脱掉程序猿的旧外套,换上“土豪金”的IT新人套装,那么,请你准备如下软硬件,开始和笔者一起,探秘分布式架构的奥义,走向“云端”。

· 有8GB内存的计算机一台,4GB勉强过关。

· 计算机保持联网,遇到问题能随时“谷歌”。

· 笔者的QQ号码,该号码在本书某个DEMO的代码中。

· Eclipse或你熟悉的Java开发工具。

除此之外,更重要的是以下几点。

· 不求快,但求坚持到底,系统学习比局部掌握更重要。

· 不怕错,就怕蒙混过关,尝试和出错是学编程的王者之道。

· 不怕动手,就怕只动眼,原理与实践都重要,技术都是实践和总结出来的。Leader-us2017年5月31日第1章大话分布式系统分布式世界是一个很复杂的世界,任何技术都不是孤立的存在,任何技术都无法适应所有场景。作为一名分布式系统架构师或资深研发人员,你必须尽可能多地学习与之相关的各种知识,掌握各种技术的演进路线,从一名编程狂人逐渐升级为一名博学的IT专家,实践与理论并行、代码与页码齐飞,唯有如此,你才能更好地成就未来。1.1IT争霸战1.1.1 划时代的第一台计算机

在两亿多年前的侏罗纪时代,地球上生活着数量庞大的恐龙家族,它们统治着海洋、陆地和天空,并幸福地生活了上亿年,却突然灭亡。在那个时代称霸的恐龙体型巨大,它们所在的时代是如此令人着迷,以至于直到现在,好莱坞导演们也不忘和我们IT界的同行携手,用先进的IT技术制造出一个个在视觉上令人震撼的史前怪兽。

有趣的是,计算机领域也呈现出与侏罗纪时代的恐龙同样的发展轨迹:从早期个体的强大逐渐发展为群体的强大。据记载,世界上第一台电子数字式计算机于1946年情人节(2月14日)诞生并在美国宾夕法尼亚大学正式投入运行,它的名字是ENIAC,其主要设计制造者毛克利申请获得了美国专利。ENIAC有17468个真空电子管,并使用电容器进行数值存储,以电量表示数值,数据输入时采用打孔读卡,并采用二进位制计算,耗电174千瓦,占地170平方米,重达30吨,每秒钟可进行5000次加法运算。

恐龙的王者——霸王龙的体重最大为14吨,第一台巨无霸电子计算机重30吨,该计算机仅从重量上已经完胜霸王龙。虽然每秒只能进行5000次加法运算,现在任意一台PC的计算能力都超过它千倍,但看看下面这段记录,作为IT人,你应该为这个鼻祖的诞生感到骄傲:

中国的古代科学家祖冲之利用算筹,耗费15年心血,才把圆周率计算到小数点后7位数。一千多年后,英国人香克斯以毕生精力计算圆周率,才计算到小数点后707位。而使用ENIAC进行计算,仅用了40秒就达到了这个记录,还发现香克斯的计算中,第528位是错误的。

水落石出的真相:依俄华州立大学物理系约翰·文森特·阿坦那索夫和研究生克利福德·贝里在1939年制造出一台完整的具备现代计算机4个核心要素(二进制、内存、I/O、计算单元)的样机ABC(Atanasoff Berry Computer),该样机后来被销毁而没有流传下来。1973年美国明尼苏达地区法院正式宣判,吊销毛克利的专利,并肯定了阿坦那索夫才是真正的现代计算机的发明人。如下所示是ABC的复制品,即使该复制品是人们靠回忆还原的,它也是世界上第一台现代计算机,让我们默默地瞻仰1分钟……

但凡新的学科出现,总有天才人物披荆斩棘地做开路先锋,他们有着常人所不具备的敏锐洞察力和想象力。让我们再看看奠定了现代计算机系统结构的经典理论——冯·诺依曼体系:计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。直到今天,计算机仍没有跳出该体系的范畴。冯·诺依曼洋洋洒洒的101页关于计算机系统结构的技术报告,奠定了他在计算机领域的地位,但他却亲手把“计算机之父”的头衔戴在了同时代的天才阿兰·图灵的头上,可见图灵对计算机发展所做出的贡献。

图灵是罕见的天才数学家和计算机科学家,天生悟性过人,16岁就能弄懂爱因斯坦的相对论,并能运用那深奥的理论,独立推导力学定律。1935年,图灵年仅23岁且刚刚大学毕业,就被剑桥大学国王学院甄选为研究员,成为剑桥大学有史以来最年轻的研究员。1936年,图灵在伦敦权威的数学杂志上发表了一篇划时代的重要论文《可计算数字及其在判断性问题中的应用》,在该论文中首次提出了奠定现代计算机的理论基础的“图灵机”理论。在曼彻斯特大学,图灵度过了其短暂生命的最后几年,“人工智能”是他发出的最后的生命之光,他是这一领域开天辟地的大师。从计算机理论到实践,图灵的贡献无人能出其右。1951年,图灵39岁,被英国皇家学会选为会员,成为其家族中第4位皇家学会会员。曼彻斯特大学也因为图灵的存在,被英国皇家学会认定为国家计算机科学的最高学术机构。

天才或许真的只是为了拯救我们这些碌碌无为的凡人而落入凡间的灵魂吧,他们在人间绽放了无与伦比的耀眼光芒后,就匆忙离去,只留下我们无限怅惘。——Leader-us

1954年6月8日,42岁的图灵吃了一小口含有氰化钾的苹果,绝世而去。1998年6月22日,世界各地的计算机大师齐聚伦敦纪念他们的“创业领袖”,英国下议院向科学家们道歉,承认在44年前对图灵做出了不公正的审判,并且当即修改法律,同性恋不再非法。至于那个被咬了一小口的苹果,则又被另一个IT奇才——乔布斯发扬光大,国外媒体通过苹果自iPhone上市后的每一个季度财报的相关统计得知,这款革命性的移动设备目前的全球销量已经超过5亿台。

第一台电子计算机诞生以后,一个日新月异的IT时代到来了。一方面单台计算机的性能每年都在提升:从最早的8位CPU到现在的64位CPU;从最早的MB级内存到现在的GB级内存;从慢速的机械硬盘存储到现在的固态SSD硬盘存储。另一方面,分布式架构技术让我们把单台计算机的计算能力、内存、I/O等传统部件“分布”到联网的各个单独的计算机节点上,最终组成一个超级计算网格。而如今在虚拟化和云计算技术的推动下,我们又开始实现另一个极致的新技术:一台计算机通过软件方式被虚拟化为几个相互独立的计算机(虚机),从而使得一台计算机变成了N台计算机,形成一个局部的计算机集群,许多个这样的集群互联进而形成一个规模更大的计算机集群,在这个集群里,我们可以安装、部署多种不同的操作系统,彼此相互独立地完成各种任务,而当某个虚机发生故障后,我们可以立即自动转移到其他机器上重建,也可以根据系统的负载情况动态创建和消耗虚机。通过虚拟化管理软件,仅仅需要几十秒,一个完全虚拟的Linux机器便可以立即使用,也仅仅只需几十秒,一个安装好了MySQL、Tomcat、JDK的虚机镜像被启动,你可以部署你的Java程序,供别人使用,这是怎样一个神奇的世界呢?本书将为你揭露上述神奇表象背后的密码,使你也拥有实现上述目标的魔力。1.1.2 IT界的恐龙时代

ENIAC之后,电子计算机便进入了IBM主导的大型机时代,IBM大型机之父吉恩·阿姆达尔被认为是有史以来最伟大的计算机设计师之一。1964年4月7日,在阿姆达尔的带领下,历时三年,耗费50亿美元,第一台IBM大型机SYSTEM/360(简称S/360)诞生。这项50亿美元的投资甚至超过了原子弹的研究资费,但最终被证实这是一次改变了商业运作的历史性变革,这使得IBM在20世纪50~60年代统治整个大型计算机工业,奠定了IBM计算机帝国的江山。IBM的大型机过去曾支撑美国航天登月计划,而近50年以来,IBM主机一直服务于金融等核心行业的关键业务领域,IBM更是集中精力研发大型机和小型机。由于高可靠性和超强的计算能力,即便在目前X86和云计算飞速发展的情况下,IBM的大型机仍然牢牢占据着一定的高端市场份额。【思考题】为何在长达60年的漫长时间内,古董级别的大型机仍然没有退出舞台?【标准答案】:根本原因是“钱”。据Qualix Group统计,服务器1分钟的宕机平均会使运输业损失15万美元,银行业损失27万美元,通信业损失35万美元,制造业损失42万美元,而证券业损失高达45万美元。如果银行系统中断1小时,则将直接影响其基本支付业务;中断1天,则将对其声誉造成极大伤害;中断2~3天以上不能恢复,则将直接危及其他银行乃至整个金融系统的稳定。另外在故障恢复方面,40%的公司每年需要1天或者更长的时间进行数据恢复,7%的公司需要超过1天。以证券业为例,若需要1天进行系统恢复,则损失的金钱为24×60×45万美元!这就印证了大型机的客户都不缺钱,同时我们稍微推理和思考就能得出一个让IBM很难堪的结论:作为单机系统来说,无论设计得如何精妙,维护得如何稳定,都不可能保证100%的无宕机。至此,你也就明白了设计分布式系统的重要目标之一是“避免单点故障,提升系统的可靠性”。

2012年情人节的前一天,NASA终结了其IT史上的重要一章:关闭了最后一台大型机IBM Z9,它曾被用于计算和解决与太空飞行有关的复杂数值计算问题,如下所示为这张珍贵的照片。有趣的是,NASA是目前人气指数第一的云计算平台OpenStack的创始者之一。

正如恐龙时代早已过去,哺乳动物主宰了我们现在的星球,大型机辉煌的时代也早已过去,取而代之的是X86系列的PC机。让我们再回到侏罗纪公园,在恐龙称霸的那个年代,一种身形像老鼠的哺乳动物,以小昆虫和植物为食,早已经在茂密的原始森林中乱跑了。1927年美国著名古生物学家乔治·辛普森在美国西部发现了它的化石,并将其命名为Laolestes。那个时代的一只恐龙有可能活100~200年之久,而Laolestes的寿命则可能只有几个月。尽管Laolestes短命、弱小,生命之旅充满艰辛,这种哺乳动物却有着让人意想不到的优势:短促的生命周期使Laolestes更新换代的能力远远超过了恐龙,Laolestes的优秀基因因此不断地重新排列组合,劣势基因被淘汰;求生必备的视觉、听觉能力随着环境的变化不断完善,在大自然物竞天择的规律中,缓慢但有效地发挥着作用,演化出适应不同环境的哺乳动物。这一切,都发生在恐龙年代。

我们不得不承认,有些人最终成了这个世界的霸主,他们是一小撮地球人,分布在地球上的各个部落里,影响着这个星球上规模庞大的哺乳动物种群。这个种群虽然可能肤色不同、语言不通、一生中从未遇见过另外一个部落的同类,但他们如今高度趋同:目前全球71亿人口中有68亿手机用户,国际电信联盟2013年世界报告还发现,超过三分之一的全球人口使用网络。1.1.3 贵族的没落与平民的胜利

20世纪80年代,在大型机霸主的时代,计算机架构同时向以下两个方向发展。

· 以X86 CPU为架构的价格便宜的面向个人的PC。

· 以RISC CPU为架构的价格昂贵的面向企业的小型UNIX服务器。

我们对X86太熟悉了,因为我们所开发的绝大多数程序都运行在PC上(含PC服务器),我们当中有90%以上的人在拥有X86芯片的PC上写代码,用着说不清是否严格意义上的正版Windows。作为当今IT世界的绝对王者,我们有必要在这里回顾下X86芯片的历史和主宰它的大哥——Intel。1971年,Intel为一家日本计算器厂商制造了其历史上的第一块处理器——4位处理器4004,4004含有2300个晶体管,也是第一款个人有能力购买的计算机处理器,当时它功能相当有限,速度还很慢,被当时的蓝色巨人IBM及大部分商业用户不屑一顾。

IBM:在增加一个程序员而不增加燃料的情况下,能计算出航天飞机抵达预期目标的概率是多大吗?

Intel:不能……

摩根:能预测纳斯达克股票的涨幅吗?

Intel:不能……

记者:能用来PS照片吗?

Intel:不能……

报纸头条:《多一个屌丝又能改变什么?》

但4004毕竟是划时代的产品,很快,在1975年,Intel又推出了8位处理器8008和8080。1979年,Intel公司推出了8088芯片,它属于16位微处理器,内含29000个晶体管,时钟频率为4.77MHz,地址总线为20位,可使用1MB内存。当看到个人微计算机蓬勃发展时,IBM坐不住了,它开始进入这个新领域,老将出马果然不负众望,IBM实现了其愿望,领头主导制定了个人PC的行业标准——IBM兼容机,在1981年将Intel的8088芯片首次用于IBM PC机中,并与微软合作研发新一代操作系统OS/2,从此开创了全新的微机时代,将初出茅庐的苹果计算机雄霸天下的梦想无情地打碎,从此苹果与IBM老死不相往来。但当初意气风发的少年英雄IBM只猜对了故事的开始,却没猜到故事的结尾,最终赔了夫人又折兵,在PC领域什么好处都没捞到,却造就了两个超级对手:硬件方面,造就了最强的敌手——Intel;软件方面,则造就了让无数软件公司恐惧的共同敌人——微软。然而这还不是最可怕的,最可怕的是这两个超级强者的联姻——Wintel,这个联盟打遍天下无敌手,最终压制和消灭了其他巨头的冒泡,称霸IT界数十年。IBM则一步步退出PC领域,最近开始变卖X86服务器,转而退守其有高端RISE芯片的高端服务器的研发阵地。IT 界里与微软、Intel合作的公司貌似都没有“好下场”,IBM第一个领教过,其中的滋味恐怕只有后来的惠普体会最深。惠普一开始拥有自己的CPU和操作系统,与Intel合作的结果是最后耗资10亿元人民币,并花数十年共同研发的安腾64位处理器,事实上已经“寿终正寝”,HP-UNIX也随之“安乐死”。

PC时代的崛起直接导致了Windows操作系统统治了世界上绝大多数的PC,让其他操作系统一直处于阴影中。微软作为Windows的主人,一路过来消灭了很多对手,包括众多程序员心目中的偶像公司——Borland,最终也倒在微软的屠刀下。盖茨亲自登门拜访,最终才将这个公司的软件天才程序员、Delphi之父——Anders Hejlsberg收归旗下,后来成为Visual J /.NET/C#之父,他是目前全世界顶尖的软件技术人员之一。论实现技术,Anders可能是目前的第一高手,因为他精通程序语言、编译器技术、开发工具、Framework及系统架构,并且在每个领域都是顶级专家。有兴趣的同学可以想想,当年微软的Visual J虚拟机在性能上甚至超过了Sun的JVM,最终引发两个巨头的决裂,若当时两家携手,那么今天的Java会是怎样一番盛景。

制造X86的CPU厂商曾经三足鼎立,如今只剩Intel一家独大,AMD苦苦支撑,而当年的小弟Citrix后来被中国台湾的威盛公司收购。UNIX服务器方面,当年有IBM的Power系列、Sun的SPARC系列、MIPS授权的RISC架构系列、惠普的PA-RISC及DEC的Alpha系列。MIPS处理器是20世纪80年代中期RISC CPU设计的一大热点。MIPS是卖得最好的RISC CPU,可以从任何地方如Sony、Nintendo的游戏机、Cisco的路由器和SGI超级计算机中看见其身影。目前RISC体系结构被X86芯片所挑战,MIPS有可能是起初RISC CPU设计中唯一在21世纪盈利的产品(本世纪的国产龙芯也采用了它的授权)。和Intel相比,MIPS的授权费用比较低,被除Intel外的大多数芯片厂商所采用。

这里不得不说的是DEC公司Alpha系列的一个经典传奇,Alpha是RISC处理器中速度最快的一种,于1992年2月25日在东京召开的一次会议上被正式推介,拥有诸多先进设计和技术,而且是唯一得到了Windows NT继续支持的RISC处理器(1995年,NT中断了对MIPS和PowerPC的支持),后来苹果也希望把其CPU放入苹果计算机中,但被拒绝了。Intel剽窃了Alpha的大量专利,后来对簿公堂达成和解,Intel拿到了专利和工厂,DEC支持Intel的IA-64处理器计划。后来DEC被康柏收购,随后又被惠普收购,Intel在这个过程中却没有成为最大的赢家。

DEC才华横溢的工程师们的去向如下:Derrick Meyer加入了AMD公司,设计了K7;James Keller也去了AMD,不过是Kubernetes权威指南的架构师;Daniel Leibholz到Sun开发了UltraSPARC V。Intel远没有想象中如此幸运,虽然在DEC公司的最后关头得到了很多好处,却只能看着StrongARM架构胎死腹中,因为当初设计StrongARM-110的首席架构师Daniel Dobberpuhl、Richard Witek、Gregory Hoeppner和Liam Madden没有一个愿意加入Intel。而第一个提出Alpha架构的Richard Sites则一蹶不振,一直没有找到像样的工作。

在处理器方面,Sun的SPARC处理器是RISC领域中非常重要的一个产品,从1984年SPARC架构的提出,到1987年的第一款SPARC处理器(比当时的复杂指令集计算机CISC处理器速度要快三倍)的诞生,到获得巨大成功的UltraSPARC-III,再到8核心32线程的UltraSPARC-T1和中途被废止的16核心“Rock”,Sun SPARC沉浮25年,奠定了Sun在高端微处理器市场中的领先地位,成就了一段硅谷传奇。

Sun公司作为世界上数一数二的技术巨头之一,是曾经唯一可以与IBM比肩的科技公司,从1982年成立到2010年被数据库巨头Oracle收购,Sun在短暂又惊艳的28年里,创造了一个又一个奇迹,如今Sun虽然不存在了,但是它带给硅谷的深远影响是永存的。让我们一起来回忆一下Sun的辉煌历史吧。30年前,Sun的第5位雇员John Gage就提出了“云计算”的概念——网络即计算机。Gage是加州大学伯克利分校的一位数学讲师,他预言了“云计算”的出现,后来,“云计算”一直是Sun的工作理念和方向之一。

在操作系统方面,Sun贡献给世界的是第一个工业级的优秀UNIX操作系统Solaris,它与Sun SPARC处理器的硬件体系结构紧密结合,在设计和市场上经常捆绑在一起,整个软硬件系统的可靠性和性能也因此大大增强,它曾经是Sun最得意的产品,不亚于当今的iPhone。Sun留给世界的最后一个至今仍然很重要的瑰宝非Java莫属,于1990年诞生的它,如今已经24岁了,几乎无处不在,它也是分布式企业应用开发的首选语言。

在与X86对抗的过程中,RISC芯片的厂家一个个地退出舞台,目前仅剩的有影响力的只有两家:IBM PowerPC联盟与ARM联盟。PowerPC是1991年苹果、IBM、Motorola组成的AIM联盟所发展出的微处理器架构,这个意欲打破由Intel垄断个人计算机市场的决定,立刻在华尔街股市引起相当大的震荡,但在微软和Intel这个IT界最为强大的双剑合璧的“霸天虎”的逼迫下,AIM联盟无疾而终。不过,IBM的Power芯片仍然在发展,在全球排名前10位的超级计算机中,共有5台采用了Power架构。1.1.4 ARM新贵的爆发

ARM联盟可以说是目前X86的唯一强劲敌手,从下面这组数字就能知道了:目前全球95%以上的手机及超过四分之一的电子设备都在使用ARM技术。PC出货量一直在缓慢下降,智能手机、平板计算机已经开始成为我们生活中不可或缺的一部分。虽然微软一直雄霸PC桌面,但在智能终端这个领域,盖茨很早就盯上了,而且全新开发了WinCE操作系统,当年酷派手机的崛起也是依托了个系统。在新一代智能手机流行之前,诺基亚靠着塞班这个手机操作系统雄霸天下,无视微软的存在,让盖茨恨之入骨,但后来微软收购并“打败”了诺基亚,看来“君子报仇,十年不晚”。

ARM联盟与Intel的路线不同,其经营思路是“有钱大家一起赚”,通过设计低能耗的ARM芯片架构并低价授权众多的制造商去制造,ARM芯片占据了移动和嵌入式领域的绝大部分份额,并且在云计算崛起的今天,又开始抢夺Intel的重要领地——服务器市场。IBM、Google、NVIDIA结盟,企业版Linux领域的领头羊——RedHat发起ARM合作伙伴早期使用计划,其目标客户是芯片制造商和服务器制造商,最初的成员包括AMD、American Megatrends、AppliedMicro、博通、Cavium、戴尔、惠普、Linaro和ARM控股公司自己,戴尔在2014年2月推出了采用AppliedMicro公司X-Gene芯片的微服务器原型机,惠普在其低功耗服务器MoonShot中使用德州仪器的ARM芯片,功耗降低80%。另外,X86领域的老二、Intel的老对手AMD也很意外地于2014年1月发布了首款商用64位ARM处理器Opteron A1100,频率可超过2GHz,只用略高的功耗,就得到了将近三倍的性能,核心性能也增加了40%以上。另外一个与本书主题密切相关的重要消息是虚拟化技术也开始发力ARM芯片了——2014年3月10日,Linux基金会中的非营利组织“Xen Project”发布了采用开源技术的Xen 4.4,提升了ARM服务器平台性能,考虑到虚拟化技术的迅猛发展和应用,未来大量的ARM服务器承担高密度数据中心的可能性越来越大。

有关机房功耗的小知识:IDC机房中,由服务器、存储和网络通信等设备产生的功耗约占数据中心机房所需总功耗的50%左右,其中服务器所占的总功耗为40%左右,空调系统的功耗约占数据中心机房所需总功耗的37%左右。2009年,联通150个IDC机房一年的电费为5.2亿元人民币。现在可以理解Google为何很早就开始自己进行风力发电了吧。再考虑机房的占地面积有限,机柜位置有限,而ARM架构的服务器可以做到很高密度而低功耗的耗电能力,谁知道未来的世界会不会是ARM的天下呢?是不是到了买ARM股票的时机了呢?

从2013年起就有舆论称Google也开始染指CPU了,考虑到其早在2005年就自己组装超大规模的服务器集群:服务器上装电池,使用技嘉主板,数据中心以货柜为单位,每箱有1160台服务器,后来又通过Android打败了诺基亚,占了苹果的便宜,现在出CPU也是可能的,毕竟Google笼络了一大批天才程序员。不过最近公开的消息是Google设计了一款可以采用IBM的Power芯片的主板!作为Intel全球第五大服务器芯片客户,这叫Intel情何以堪!百度兄,你可要更努力了。1.1.5 超级计算机的绝地反击

除了大型机、小型机、个人计算机、服务器,计算机世界里另外一个小众群体就是“白富美”的“超级计算机”了,它们每一个都是高端私人定制的紧密耦合的分布式计算机集群,每一个计算能力都超过每秒1万亿次,每一个都很贵,每一个都带着荣耀而生,代表着“国家实力”。我们最熟悉的一个超级计算机就是由IBM制造的,它的名字叫深蓝,是专门用于分析国际象棋的超级计算机,它有480颗特别制造的VLSI象棋芯片,下棋程式以C语言写成,运行AIX操作系统,运算速度为每秒2亿步棋,可搜寻及预估随后的12步棋,而一名人类象棋好手大约可预估随后的10步棋。1997年5月11日,该计算机击败国际象棋世界冠军加里·卡斯帕罗夫,这是一次轰动世界的事件:计算机第一次击败人脑。

典型的超级计算机系统结构如下。

· 并行向量处理(PVP)。

· 对称式多处理器(SMP)。

· 分布式共享内存(DSM)。

· 大规模并行处理(MPP)。

· 集群式超级计算机。

其中MPP系统是由成百上千计算节点组成的分布式并行处理计算机系统,每个计算节点配置一个或多个处理器,各个节点相对独立,有各自独立的内存模块和操作系统,MPP系统的特点是有很高的峰值运算速度。机群系统采用高速网络将大量的节点相互连接,每个机群节点都是一个配置有处理器、内存、I/O设备、网卡和操作系统的计算机,各个节点以协同方式并行完成计算任务。机群系统与MPP一样,也属于分布式内存结构,因而具有很强的可扩展性。具体而言,机群系统主要由节点计算机、高速互联网、操作系统、单一系统映像等中间件、并行编程环境和应用程序等部分组成。

如今全球超级计算机500强排名中,机群式系统所占的比例达到83%以上,在最新的排名中,就GPU而言,500强中有39套系统目前使用GPU作为加速器(3/5使用中国台湾Nvidia的GPU),有85%的上榜系统采用了Intel至强处理器,有超过200套系统采用了Infiniband网络方案,美国持续以263套入榜系统居冠,中国有75套系统。2014年,来自中国的天河二号超级计算机终于上了头条,成为500强超级计算机中计算能力最强的一个。

Nvidia有望在超级计算机领域继续扩展其势力,田纳西州立大学计算机科学系教授Jack Dongarra评价该公司为“第一个针对该市场并提供良好软件基础及行销策略的企业”。

天河二号由280人历时两年多研制完成,耗资约1亿美元。它已经在国家超级计算广州中心正式投入运行,为120多家用户提供了300多项典型应用计算。借助天河二号,国产C919大型客机开展了高精度外流场气动计算,中科院上海药物研究所开展了75万个小分子化合物的结合亲和力评估,完成了600多个各类药物的体内外活性测试评价。天河二号适配了广州市电子政务数据管理系统和云盘存储系统等,为智慧城市的建设搭建了高效可靠的承载平台。

无论从理论还是技术来看,现代的超级计算机系统都是当今最先进的分布式系统,有目前最高性能的Infiniband网络方案、最强的计算芯片、最大的内存带宽、最好的I/O、优化定制的集群控制系统和操作系统。对于这样一个庞然大物,目前唯一可以与其匹敌的就是蓬勃发展的公有云。作为云计算领域无可厚非的先行者,亚马逊的公有云按照其计算能力,已经能在TOP500超级计算机系统中进入前50名,若按照实用价值和投入产出来计算,则大概是当之无愧的第1名了。云计算这个当前最热门的新型领域,引来无数英雄竞折腰,CPU、GPU开始支持虚拟化指令,软件定义存储的概念撼动人心,大二层虚拟网络标准最终会鹿死谁手?云计算的IAAS基础平台OpenStack目前如日中天,惠普高调宣布投入10亿美元启动HP Hellion战略,引得OpenStack之父欣然前往掌帅。IBM、微软、Intel、RedHat、Oracle、惠普、思科及中国的华为、浪潮等纷纷投奔开源OpenStack联盟,这个领域中原先的领导者VMWare、Citrix等也纷纷拥抱开源。英雄所见略同,只能用这句话来解释当前云计算的局势了。

回顾一下本章的内容,若你记住了几个重要的名字:大型机、X86、RISC、ARM、Windows、UNIX、虚拟化、云计算、OpenStack,了解了IBM、惠普、微软、Intel、Google、苹果这些巨头们的恩怨情仇,感悟了IT世界的风云变幻与日新月异,领悟了当今我们所面对的IT系统的技术多样性和复杂性,你就初步具备了一名架构师必备的基本能力——“哲学观”。最后,借用狄更斯的名句来总结我们当前的“IT时代”。

这是一个最好的时代,也是一个最坏的时代;

这是明智的时代,这是愚昧的时代;

这是信任的纪元,这是怀疑的纪元;

这是光明的季节,这是黑暗的季节;

这是希望的春日,这是失望的冬日;

我们面前应有尽有,我们面前一无所有;

我们都将直上天堂,我们都将直下地狱。——狄更斯《双城记》1.2分布式系统的开国元勋

在计算机世界里,大型机一步步丧失了自己的领地,分布式的微机集群无处不在,而集群中至关重要的一个组成部分——网络,不仅改变了IT世界,也改变了我们的生活。

网络作为连接分布式系统的信息传输通道,也是分布式系统的“神经网络”,可以说没有网络,就没有分布式系统。分布式系统的初衷是解决系统的可靠性问题,避免“单点故障”,这也与最早的互联网的目标不谋而合:在20世纪60年代,美国国防部认为,如果仅有一个集中的军事指挥中心,万一这个中心被原苏联的核武器摧毁,则全国的军事指挥将处于瘫痪状态,其后果不堪设想,因此有必要设计一个分散的、网络化的指挥通信系统。1969年,美国国防部高级研究计划署ARPA资助建立了世界上第一个分组交换试验网ARPANET,连接美国四个大学。随后各种私有小规模网络蓬勃发展,从而产生了网络互联的需求,1980年TCP/IP研制成功,两年后ARPANET开始采用IP。

1986年美国国家科学基金会NSF资助建成了基于TCP/IP技术的主干网NSFNET,连接美国的若干超级计算中心、主要大学和研究机构,世界上第一个互联网由此诞生。1987年我国的互联网向世界发出第一封E-mail,主题是“Across the Great Wall we can reach every corner in the world(越过长城,走向世界)”,1994年中国建设了CERNET示范网工程,这是中国第一个全国性TCP/IP互联网,即现在的教育网。

1995年美国NSFNET开始商业化运行,互联网迅速连接到世界各地,短短30年,如今有电的地方就有计算、有计算的地方就有智能、有智能的地方就有联网,而且这个网络上不仅仅是人和人、人和物、物和物,若一只狗和一个聊天机器人在网络中爱得死去活来,则也不是让人匪夷所思的事情了。

以太网技术从诞生那一刻起,就注定要主宰网络世界,它来自于施乐的一个先锋研究项目,在1976年,梅特卡夫和他的助手David Boggs发表了一篇名为《以太网:局域计算机网络的分布式包交换技术》的文章。1979年,梅特卡夫成立了3Com公司,3Com对迪吉多、Intel和施乐进行游说,希望与它们一起将以太网标准化、规范化,这个通用的以太网标准于1980年9月30日发布。当时业界有两个流行的非公有网络标准令牌环网和ARCNET,在以太网大潮的冲击下很快萎缩并被取代。而在此过程中,3Com也成为一个国际化的大公司。梅特卡夫曾经开玩笑说,Jerry Saltzer为3Com的成功做出了贡献。Saltzer在一篇与他人合著的很有影响力的论文中指出,在理论上令牌环网要比以太网优越。受到此结论的影响,很多计算机厂商或犹豫不决或决定不把以太网接口作为机器的标准配置,这样3Com才有机会从销售以太网网卡中大赚,可惜3Com后来经营不善,面临破产,其与华为合作的H3C后来在美国的干预下,被卖给了惠普,从此3Com消失在历史的舞台中。

虽然3Com倒下了,但这并不影响以太网的发展,自从1982年以太网协议被IEEE采纳成为标准以后,已经历了30年的风风雨雨。在这30年中,以太网技术作为局域网链路层标准战胜了令牌总线、令牌环等技术,成为局域网事实标准。以太网技术当前在局域网范围的市场占有率超过90%,1999年千兆以太网诞生,2002年万兆以太网诞生,随后万兆以太网在城域网中也开始横扫对手,迅速占领老式的同步光纤网的阵地。

网络中的第1个重要协议是Telent协议,它实现了两台计算机的点对点控制访问;第2个重要协议是邮件协议,实现了人与人的网络通信;第3个重要协议是文件传输协议,解决一台计算机从另外一台计算机批量获取文件的通信要求。但这3个协议在IT界的影响力都远不如后来的HTTP,它直接造就了我们当今的万维网(WWW)。正如英文中的ABC三个字母的含义,WWW在很多人眼里是网络的代表,它造就了一个前所未有的奇幻世界,让我们一起来追忆下这个伟大物诞生的过程吧。

泰德·尼尔森于1965年发起了著名的Project Xanadu项目来研究超文本技术,Xanadu是真正意义上的网络超文本系统,该系统的部分功能在20世纪80年代后期得以实现,凭借Project Xanadu项目,泰德·尼尔森被誉为超文本领域的先驱和万维网创造者之一。而早在1945年,美国政府科学研究与发展办公室主任Vannevar Bush就已提出了一个Memex(存储扩充器)系统,Memex建立在这样一种思想上,即“机械化图书馆将各种信息存储在缩微胶片中,各书目之间的链接可以自由转移”。尽管这一思想从未得到实现,但Bush仍被公认为是超文本的鼻祖,他在1945发表的论文As we may think一直是一个参考标准,在某种意义上,Bush在超文本发展中所起的作用相当于图灵对于计算机技术的贡献。历史再次印证了一个浅显的道理:理论和思想的提出永远高于其实现。

直到20世纪80年代后期,超文本协议仍然是热门课题,每年都有几百篇论文发表,但距离我们的生活还很远。直到1989年夏天的一个晚上,英国的一名天才程序员在研究所里独自成功开发了一套程序——世界上第一个Web服务器和第一个Web客户机,他就是互联网之父——提姆·伯纳斯·李,因为他的杰出贡献,我们终于步入了“Xanadu”仙境。1999年提姆·伯纳斯·李在他风靡全球的传记《一千零一网》中再次提到泰德·尼尔森和他的Project Xanadu,他在书中写道:“网络的社会化作用远远大于其在技术层面的作用。当初我创立网络的初衷就是发挥它的社会化作用,加强人们彼此协作的能力,而不是出于对技术的狂热”。而把互联网之父的话实践到极致的国内互联网企业,则非BAT三巨头莫属了:2013年,国内互联网100强企业营收总规模超过2000亿元人民币,而到了2015年,100强企业营收总规模就超过了7500亿元人民币!仅腾讯、阿里巴巴、百度这三家巨头的年营收就超过了千亿元人民币。

因为在互联网技术上的杰出贡献,伯纳斯·李被业界公认为“互联网之父”。他的发明改变了全球信息化的传统模式,带来了一个信息交流的全新时代。然而比他的发明更伟大的是,伯纳斯·李并没有像其他人那样为“WWW”申请专利或限制它的使用,而是无偿地向全世界开放。伯纳斯·李本来可以在金钱上与盖茨一较高低,但他的这一举措为互联网的全球化普及翻开了里程碑式的篇章,让所有人都有机会接触到互联网,也圆了那些.com公司创建者的富翁梦。即便如此,伯纳斯·李仍然十分谦虚,总是以一种平静的口气回应:“我想,我没有发明互联网,我只是找到了一种更好的方法。”同样是在1990年,微软完善了自己的操作系统微软视窗3.0,1996年微软“全心全意”地拥抱了Intel,于是本来很简洁的网页浏览器,如今成了每位界面工程师的梦魇,这么多年来无数天才程序员努力想要破解浏览器兼容性的难题,但面对层出不穷的JavaScript框架,我们还是经常束手无策。

即使在今天,伯纳斯·李(Tim Berners-Lee)的名字对于大众来说多少还有些陌生,但对于那些互联网公司的CEO们,伯纳斯·李永远是他们心中的偶像。Lotus公司主席兼CEO Jeff Papows这样评价到:“伯纳斯·李是这个星球上最有资格被写入互联网编年史的人物。他用自身的智慧和像父母一样的无私为这个产业创造了另一个神话,他告诉人们网络是多么美好、多么富有吸引力,又一个新事物在他的手中诞生了。”Novell公司CEO Eric Schmidt在接受《时代》周刊采访时表示:“如果‘计算机和互联网’是一门传统科学的话,那么伯纳斯·李无疑将获得一枚诺贝尔奖章。”

1999年,伯纳斯·李入选《时代》杂志20世纪最重要的100位人物。2004年4月,芬兰技术奖基金会将全球最大的科技类奖“千禧年技术奖”授予伯纳斯·李。2012伦敦奥运会开幕式上,伯纳斯·李亮相,并打出了“This is for Everyone”字样,言外之意是“互联网献给所有人”。

作为同时代的IT英雄——富可敌国的盖茨,还成立了慈善基金,与他人分享财富,可是人们这么描述他:“他像一只青蛙,瞪着双眼,紧盯着浮在水面上的所有昆虫,看准时机,迅即下手。这位技术的追星族,是在合适的时间和地点露面的天才。”

HTML作为一个有点年份的技术,始终在不断发展,目前HTML 5已经开始普及,相信在应用移动化、云化的主流方向里,会走得更远,以后有没有Windows不好说,但HTML将无所不在。

不管我们所看到的世界有多么美好或者遗憾,总有一些底层的人和事在支撑着我们所生活的这个庞大社会,没有他们,我们就没有思考的时间,也无法领悟生命的意义。而在网络世界里,TCP/IP族正是担负起庞大帝国的默默无闻的劳动者。不管是万维网的HTML、即时通信、视频电话、网络游戏还是智能家居、物联网,底层都离不开TCP/IP通信。接下来,我们来了解下这个庞大族群的发展历史。1.3分布式系统的基石:TCP/IP

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网络协议)是Internet的基本协议,简单地说,由底层的IP和TCP组成。TCP/IP的开发工作始于20世纪70年代,是用于互联网的第一套协议。TCP/IP结合DNS、路由协议等一系列相关协议,最终实现了网络之间任意两点间的数据通信问题。我们来看看访问百度首页时,数据包是如何从计算机传送到百度的服务器上的。

在命令行运行ipconfig/all,查看到当前计算机配置的TCP/IP参数,可以看到默认网关和DNS服务器的信息,如下所示。

当你在浏览器中输入http://baidu.com时,浏览器发现URL的主机部分有一个域名(domain name),它就查找你的本机配置的DNS服务器16.110.135.52,用UDP协议向DNS服务器发送DNS查询命令,DNS服务器获取到查询命令并从数据库中查询该域名所对应的主机的IP地址,你可以通过在命令行运行nslookup来完成同样的查询结果。下图解释了直到目前依然被广泛使用的基于DNS的负载均衡机制的原理。

当浏览器获知220.181.111.85是baidu.com的IP地址时,就向这个地址的80端口发起TCP连接,由于220.181.111.85这个地址不是计算机所在的局域网,而是广域网的一个地址,此时,另外一个重要概念“路由”产生了。互联网是多个相互隔离的小网络无限延伸而组成的一个大网,路由器负责将多个网络连接,并相互交换路由表信息来确定一个IP报文要经过哪个路由器的端口发出到另外一个互联的子网。为了防止一个数据包在转发过程中形成死循环,IP包中的TTL的字段每经过路由器转发一次,就会减一,当TTL为零时则被丢弃,认为网络不可达,一般默认最大跳数为30。通常情况下,只有网络管理员和路由器知道一个报文应该转发给哪一个互联的下一个路由器,但当网络产生问题以后,我们需要追踪是哪里出了问题,此时,一个必备的基础工具tracert就成了排查此问题的重要工具。

tracert利用ICMP协议来确定一个IP报文到达目标地址所经过的路由器节点,程序发出的前3个数据包的TTL值是1,之后3个是2,依此类推,它便得到一连串数据包路径,路径上的每一个IP地址是一个路由器的IP。

从上图来看,包首先被发往网关(本机发现百度的IP地址不是本机所在局域网的网络,就将报文发给网关处理),网关之后继续进行转发。但不幸的是遍布网络的很多防火墙、路由器等设备屏蔽了ICMP报文,于是我们看到7以后的跳数都是未知的。另外,我们广泛使用的Ping命令也是采用ICMP协议来实现的,因此,Ping不通主机不代表主机不是存活的,但大多数时候,两者还是等价的,特别是在企业内部的网络中。

通过上面的解释,我们初步明白了IP报文的路由问题,接下来著名的Socket出场了。Socket是一个IP地址与端口的组合,代表计算机上的一个远程通信接口,本地的一个Socket与远程的一个Socket建立连接的过程,就是著名的3次握手过程,一旦连接建立,数据流就可以穿越网络并进行双向通信了。以上面的例子来说,百度的Web服务器有一个进程绑定在80端口的Socket上,用来接收我们发起的HTTP请求并将请求的响应转换为HTML文本流返回给浏览器,浏览器则通过解析HTML标签,完成可视化的页面展现,最终我们看到百度搜索的主页。但实际上,这个过程还是极为复杂的,一个面向公众的搜索服务,也不是少数公司能够实现的。1.4从无奈到崛起的CDN网

说到我们的互联网,不能不提的是另一词——“互联互不通”,一个看似矛盾的词,却透漏出东方人独有的“智慧”。2008年5月,我国电信业开始了第三次大规模重组,重组后,三家基础电信运营企业拿到了全业务运营的牌照,中国移动正式进军互联网领域,互联网产业的格局自此开始发生重大变革,经过此次重组,中国互联网骨干网互联单位由10家变成了7家,分别包括3家经营性互联单位——中国电信、中国联通和中国移动,4家非经营性互联单位——教育网、经贸网、长城网和科技网,原中国卫通的互联网资源并入中国电信,原中国网通的互联网资源并入中国联通,原中国铁通的互联网资源并入中国移动,形成了目前电信与联通两家独大的局势。

我国互联网骨干网间互联存在交换中心互联和直联链路互联两种方式,无论是骨干直联还是通过交换中心互联,各互联单位之间只实现双边互联,不向对方提供骨干网的穿越服务,全国共设有北京、上海、广州三个国家级交换中心,以及重庆、武汉两个实验性区域级交换中心,网间直联点建立在北京、上海、广州三个城市,不合理的互联结构导致的极端现象是黑龙江电信用户访问黑龙江联通用户要绕至上海、北京!而由于目前互联网用户资费普遍采用简单的包月制,对网间带宽的需求猛增,而互联网运营企业收入并未增加,因而运营企业没有扩容的积极性,导致网间通信质量急剧下降,这种互联网现象说明了一个道理:网站越多越好,但网多了不是什么好事。

互联互不通的问题,导致了大家熟知的“双线机房”这个名词的诞生,双线机房实际是一个机房有电信、网通两条线路接入,通过双线机房内部路由器设置,通过BGP自动路由的分析,实现电信用户可以快速访问电信线路,网通用户可以快速访问网通线路。常见的双线机房只能解决网通和电信互相访问慢的问题,其他ISP(譬如移动网、教育网、科技网)互通的问题还是没有得到解决,因此后来诞生了CDN(Content Delivery Network,内容分发网络),CDN是一种基于C/S结构的分布式媒体服务技术平台,其节点遍布各ISP,CDN将网站的内容发布到最接近用户的网络“边缘”,访问者就近获取数据,从而保证了网站到任意ISP的访问速度,另外CDN因为其流量分流到各节点的原理,天然获得了抵抗网络攻击的能力。

在运营商方面,2000年年初,中国电信建设了自己的CDN网络,2004年中国电信组建了自己的CDN流媒体分发网络。随后中国电信在推广IPTV业务时,为了使用户获得良好的视频业务体验,又建设了部分CDN节点。目前,中国电信的CDN网络一方面为电信内部业务提供加速服务,另一方面为中国电信的互联星空,以及宽带和IPTV业务提供良好的资源和服务保障。

早在2005年,亚马逊推出的“CloudFront”的CDN服务便为中小型客户带来了前所未有的便捷和实用,该服务将IDC、CDN和云计算融合,为全球的互联网企业起到了示范作用。而在国内企业市场,CDN网络受到大型互联网网站的青睐,新浪、搜狐、腾讯等大型门户网站及淘宝都采用了第三方的CDN加速服务。目前,蓝汛、网宿是国内领先的CDN服务提供商,建设了遍布全国范围的CDN网络节点。

随着云计算技术的发展,CDN又有了新的发展方向:虚拟化技术的采用,使得CDN系统可以根据用户需要快速调整服务器的设备数量和处理能力,可以提升资源配置能力和优化部署方法;将云存储引用到CDN的边缘节点和中心节点,利用云计算的虚拟化,实现文件动态分布存储,这需要边缘域与中心域的全部服务器资源的设备相互配合,从而根据文件访问的频率和用户需求自动调整存储,而高清视频存储的成功应用表明了云存储适合大文件的读取密集型访问的特点完全符合CDN的应用需求;采用了云计算技术的CDN系统还具备智能化的日志处理能力,可以综合运用统计分析、数据挖掘及时跟进用户的需求,有针对性地进行资源调配;如果在CDN系统的边缘节点部署分布式的云系统架构,则能够对采集的海量非结构化数据进行并行处理,从而使整个系统具备强大的大数据处理能力和更优化的扩展性。1.5这是一个最好的时代

互联网时代造就了一批新的IT巨头,同时终结了一些传统的IT巨头和相关企业,并正在深入地改变着越来越多的行业,极大地影响着我们的生活。若有一天,Google的无人驾驶飞机在你家门口投下一个来自非洲的包裹,然后机舱里一个操着四川口音的卡哇伊机器人拿着Android相机向你打招呼:“嘿,帅老头,你的粉丝给你寄来的礼物,抬头笑一个,签收吧!”你也不必惊讶,这就是互联网,一个神奇的世界!这个世界目前被新势力所主宰,它们是Google、苹果、亚马逊和FaceBook。

在它们之前,世界上从未有过成长这么快、普及面这么广的公司:苹果成了资本主义的庞然大物,市值占了标准普尔500的4.3%、全球证券市场的1.1%,使用该公司iTunes网上商店的有4.25亿人,iPhone手机销售超过5亿台;Google是全球搜索及在线广告方面无可争议的领先者,其安卓软件驱动着世界上80%以上的智能手机;亚马逊则统治了多个国家的在线零售及电子图书市场,其不事声张的云计算业务目前没有对手;FaceBook当前的月活跃用户量超过10亿,若这是一个国家的话,则人数位居世界第三。而当今最领先的分布式架构的基础技术的研发和应用,多来自这几个巨头:Hadoop来自Google;Thrift来自FaceBook;当今影响力最大的开源IaaS云平台OpenStack大量借鉴了亚马逊的AWS;iCloud云系统是苹果目前运营的最先进的耗资巨大的系统,据说这个系统是国人捐献的,大部分资金来自iPhone手机销售所得。

这是一个最好的时代,也是一个最坏的时代,我们在享受网络带来的好处的同时,在感慨个体的渺小;我们无法割舍网络,我们又难以把握平衡。相对于分布式技术中的其他部分,网络部分的知识面和技术点都非常庞大。作为一名软件工程师或者架构师,我们无法全懂,但我们必须知难而进,尽力而为,衣带渐宽终不悔,唯有如此,你才能最终在分布式架构和云计算的领域里做到游刃有余,谈笑间,Bug灰飞烟灭。

求神赐我万能银弹,

让我凌驾于编程之上,

求神赐我尚方宝剑,

让我威震所有藐视我者,

如若不能,

请赐我一个不会被屏蔽的Google网址。——Leader-us第2章“知识木桶”中的短板——网络基础如果没有网络,就没有所谓的分布式系统。网络之于分布式系统,就好像双翼之于飞鸟,江河之于大海。虽然网络这么重要,但有趣的是,我们中的大多数软件工程师和系统架构师,甚至于公司里最强的技术达人,都缺乏必要的网络知识和技能,也很少有人真正重视它们。所以,在虚拟化、云计算和大数据这些新技术不断涌现的当下,我们忽然发现,原来我们的“知识木桶”中最短的一块木板就是网络知识,因为不懂网络,所以,我们束手无策。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载