2022从分布式到微服务.docx
《2022从分布式到微服务.docx》由会员分享,可在线阅读,更多相关《2022从分布式到微服务.docx(238页珍藏版)》请在课桌文档上搜索。
1、从分布式到微服务1 .第1章大话分布式系统2 .第2章“知识木桶”中的短板网络基础3 .第3章分布式系统的经典基础理论4 .笫4章聊聊RPC5 .第5章深入浅析内存6 .第6章深入解析分布式存储7 .第7章聊聊分布式计算8 .第8章全文检索与消息队列中间件9 .第9章微服务架构第1章大话分布式系统分布式世界是一个很复杂的世界,任何技术都不是孤立的存在,任何技术都无法适应所有场景。作为一名分布式系统架构师或资深研发人员,你必须尽可能多地学习与之相关的各种知识,掌握各种技术的演进路线,从一名编程狂人逐渐升级为一名博学的IT专家,实践与理论并行、代码与页码齐飞,唯有如此,你才能更好地成就未来。1.l
2、IT争霸战1.1.1 划时代的第一台计算机在两亿多年前的侏罗纪时代,地球上生活着数量庞大的恐龙家族,它们统治着海洋、陆地和天空,并幸福地生活了上亿年,却突然灭亡。在那个时代称霸的恐龙体型巨大,它们所在的时代是如此令人着迷,以至于直到现在,好莱坞导演们也不忘和我们IT界的同行携手,用先进的IT技术制造出一个个在视觉上令人震撼的史前怪兽。有趣的是,计算机领域也呈现出与侏罗纪时代的恐龙同样的发展轨迹:从早期个体的强大逐渐发展为群体的强大。据记载,世界上第一台电子数字式计算机于1946年情人节(2月14日)诞生并在美国宾夕法尼亚大学正式投入运行,它的名字是ENlAc其主要设计制造者毛克利申请获得了美国
3、专利。ENIAC有17468个真空电子管,并使用电容器进行数值存储,以电量表示数值,数据输入时采用打孔读卡,并采用二进位制计算,耗电174千瓦,占地170平方米,重达30吨,每秒钟可进行5000次加法运算。恐龙的王者霸王龙的体重最大为14吨,第一台巨无霸电子计算机重30吨,该计算机仅从重量上已经完胜霸王龙。虽然每秒只能进行5000次加法运算,现在任意一台PC的计算能力都超过它千倍,但看看下面这段记录,作为IT人,你应该为这个鼻祖的诞生感到骄傲:中国的古代科学家祖冲之利用算筹,耗费15年心血,才把圆周率计算到小数点后7位数。一千多年后,英国人香克斯以毕生精力计算圆周率,才计算到小数点后707位。
4、而使用ENlAC进行计算,仅用了40秒就达到了这个记录,还发现香克斯的计算中,第528位是错误的。水落石出的真相:依俄华州立大学物理系约翰文森特阿坦那索夫和研究生克利福德贝里在1939年制造出一台完整的具备现代计算机4个核心要素(二进制、内存、I/O、计算单元)的样机ABC(AtanasoffBerryComputer),该样机后来被销毁而没有流传下来。1973年美国明尼苏达地区法院正式宣判,吊销毛克利的专利,并肯定了阿坦那索夫才是真正的现代计算机的发明人。如下所示是ABC的复制品,即使该复制品是人们靠回忆还原的,它也是世界上第一台现代计算机,让我们默默地瞻仰1分钟但凡新的学科出现,总有天才人
5、物披荆斩棘地做开路先锋,他们有着常人所不具备的敏锐洞察力和想象力。让我们再看看奠定了现代计算机系统结构的经典理论一冯诺依曼体系:计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。直到今天,计算机仍没有跳出该体系的范畴。冯诺依曼洋洋洒洒的101页关于计算机系统结构的技术报告,奠定了他在计算机领域的地位,但他却亲手把“计算机之父”的头衔戴在了同时代的天才阿兰图灵的头上,可见图灵对计算机发展所做出的贡献。r数据流(指令流控制流图灵是罕见的天才数学家和计算机科学家,天生悟性过人,16岁就能弄懂爱因斯坦的相对论,并能运用那深奥的理论,独立推导力学定律。1935年,图灵年仅23岁且刚刚大
6、学毕业,就被剑桥大学国王学院甄选为研究员,成为剑桥大学有史以来最年轻的研究员。1936年,图灵在伦敦权威的数学杂志上发表了一篇划时代的重要论文可计算数字及其在判断性问题中的应用,在该论文中首次提出了奠定现代计算机的理论基础的“图灵机”理论。在曼彻斯特大学,图灵度过了其短暂生命的最后几年,“人工智能”是他发出的最后的生命之光,他是这一领域开天辟地的大师。从计算机理论到实践,图灵的贡献无人能出其右。1951年,图灵39岁,被英国皇家学会选为会员,成为其家族中第4位皇家学会会员。曼彻斯特大学也因为图灵的存在,被英国皇家学会认定为国家计算机科学的最高学术机构。天才或许真的只是为了拯救我们这些碌碌无为的
7、凡人而落入凡间的灵魂吧,他们在人间绽放了无与伦比的耀眼光芒后,就匆忙离去,只留下我们无限怅惘。Leader-us1954年6月8日,42岁的图灵吃了一小口含有氟化钾的苹果,绝世而去。1998年6月22日,世界各地的计算机大师齐聚伦敦纪念他们的“创业领袖”,英国下议院向科学家们道歉,承认在44年前对图灵做出了不公正的审判,并且当即修改法律,同性恋不再非法。至于那个被咬了一小口的苹果,则又被另一个IT奇才一乔布斯发扬光大,国外媒体通过苹果自iPhone上市后的每一个季度财报的相关统计得知,这款革命性的移动设备目前的全球销量已经超过5亿台。第一台电子计算机诞生以后,一个日新月异的IT时代到来了。一方
8、面单台计算机的性能每年都在提升:从最早的8位CPU到现在的64位CPU;从最早的MB级内存到现在的GB级内存;从慢速的机械硬盘存储到现在的固态SSD硬盘存储。另一方面,分布式架构技术让我们把单台计算机的计算能力、内存、I/O等传统部件“分布”到联网的各个单独的计算机节点上,最终组成一个超级计算网格。而如今在虚拟化和云计算技术的推动下,我们又开始实现另一个极致的新技术:一台计算机通过软件方式被虚拟化为几个相互独立的计算机(虚机),从而使得一台计算机变成了N台计算机,形成一个局部的计算机集群,许多个这样的集群互联进而形成一个规模更大的计算机集群,在这个集群里,我们可以安装、部署多种不同的操作系统,
9、彼此相互独立地完成各种任务,而当某个虚机发生故障后,我们可以立即自动转移到其他机器上重建,也可以根据系统的负载情况动态创建和消耗虚机。通过虚拟化管理软件,仅仅需要几十秒,一个完全虚拟的LinUX机器便可以立即使用,也仅仅只需几十秒,一个安装好了MySQL、Tomcat.JDK的虚机镜像被启动,你可以部署你的JaVa程序,供别人使用,这是怎样一个神奇的世界呢?本书将为你揭露上述神奇表象背后的密码,使你也拥有实现上述目标的魔力。1.1.2 IT界的恐龙时代ENlAC之后,电子计算机便进入了IBM主导的大型机时代,IBM大型机之父吉恩阿姆达尔被认为是有史以来最伟大的计算机设计师之一。1964年4月7
10、日,在阿姆达尔的带领下,历时三年,耗费50亿美元,第一台IBM大型机SYSTEM/360(简称S/360)诞生。这项50亿美元的投资甚至超过了原子弹的研究资费,但最终被证实这是一次改变了商业运作的历史性变革,这使得IBM在20世纪5060年代统治整个大型计算机工业,奠定了IBM计算机帝国的江山。IBM的大型机过去曾支撑美国航天登月计划,而近50年以来,IBM主机一直服务于金融等核心行业的关键业务领域,IBM更是集中精力研发大型机和小型机。由于高可靠性和超强的计算能力,即便在目前X86和云计算飞速发展的情况下,IBM的大型机仍然牢牢占据着一定的高端市场份额。【思考题】为何在长达60年的漫长时间内
11、,古董级别的大型机仍然没有退出舞台?【标准答案】:根本原因是“钱”。据QUaliXGrOUP统计,服务器1分钟的宕机平均会使运输业损失15万美元,银行业损失27万美元,通信业损失35万美元,制造业损失42万美元,而证券业损失高达45万美元。如果银行系统中断1小时,则将直接影响其基本支付业务;中断1天,则将对其声誉造成极大伤害;中断23天以上不能恢复,则将直接危及其他银行乃至整个金融系统的稳定。另外在故障恢复方面,40%的公司每年需要1天或者更长的时间进行数据恢复,7%的公司需要超过1天。以证券业为例,若需要1天进行系统恢复,则损失的金钱为24x60x45万美元!这就印证了大型机的客户都不缺钱,
12、同时我们稍微推理和思考就能得出一个让IBM很难堪的结论:作为单机系统来说,无论设计得如何精妙,维护得如何稳定,都不可能保证100%的无宕机。至此,你也就明白了设计分布式系统的重要目标之一是“避免单点故障,提升系统的可靠性2012年情人节的前一天,NASA终结了其IT史上的重要一章:关闭了最后一台大型机IBMZ9,它曾被用于计算和解决与太空飞行有关的复杂数值计算问题,如下所示为这张珍贵的照片。有趣的是,NASA是目前人气指数第一的云计算平台OPenStaCk的创始者之一。SittraBattleofNASAsMarshallSpaceFlightCentershutsdownNASA*slast
13、mainframe.正如恐龙时代早已过去,哺乳动物主宰了我们现在的星球,大型机辉煌的时代也早已过去,取而代之的是X86系列的PC机。让我们再回到侏罗纪公园,在恐龙称霸的那个年代,一种身形像老鼠的哺乳动物,以小昆虫和植物为食,早已经在茂密的原始森林中乱跑了。1927年美国著名古生物学家乔治辛普森在美国西部发现了它的化石,并将其命名为Laolestes0那个时代的一只恐龙有可能活IOo200年之久,而LaOleSteS的寿命则可能只有几个月。尽管LaoIeSteS短命、弱小,生命之旅充满艰辛,这种哺乳动物却有着让人意想不到的优势:短促的生命周期使LaOleSteS更新换代的能力远远超过了恐龙,La
14、OIeSteS的优秀基因因此不断地重新排列组合,劣势基因被淘汰;求生必备的视觉、听觉能力随着环境的变化不断完善,在大自然物竞天择的规律中,缓慢但有效地发挥着作用,演化出适应不同环境的哺乳动物。这一切,都发生在恐龙年代。我们不得不承认,有些人最终成了这个世界的霸主,他们是一小撮地球人,分布在地球上的各个部落里,影响着这个星球上规模庞大的哺乳动物种群。这个种群虽然可能肤色不同、语言不通、一生中从未遇见过另外一个部落的同类,但他们如今高度趋同:目前全球71亿人口中有68亿手机用户,国际电信联盟2013年世界报告还发现,超过三分之一的全球人口使用网络。1.1.3 贵族的没落与平民的胜利20世纪80年代
15、,在大型机霸主的时代,计算机架构同时向以下两个方向发展。以X86CPU为架构的价格便宜的面向个人的PC。以RISCCPU为架构的价格昂贵的面向企业的小型UNIX服务器。我们对X86太熟悉了,因为我们所开发的绝大多数程序都运行在PC上(含PC服务器),我们当中有90%以上的人在拥有X86芯片的PC上写代码,用着说不清是否严格意义上的正版WindOWs。作为当今IT世界的绝对王者,我们有必要在这里回顾下X86芯片的历史和主宰它的大哥InteL1971年,Intel为一家日本计算器厂商制造了其历史上的第一块处理器一4位处理器4004,4004含有2300个晶体管,也是第一款个人有能力购买的计算机处理
16、器,当时它功能相当有限,速度还很慢,被当时的蓝色巨人IBM及大部分商业用户不屑一顾。IBM:在增加一个程序员而不增加燃料的情况下,能计算出航天飞机抵达预期目标的概率是多大吗?Intel:不能摩根:能预测纳斯达克股票的涨幅吗?Intel:不能记者:能用来PS照片吗?Intel:不能报纸头条:多一个屈丝又能改变什么?但4004毕竟是划时代的产品,很快,在1975年,Intel又推出了8位处理器8008和8080。1979年,Intel公司推出了8088芯片,它属于16位微处理器,内含29000个晶体管,时钟频率为4.77MHz,地址总线为20位,可使用IMB内存。当看到个人微计算机蓬勃发展时,IB
17、M坐不住了,它开始进入这个新领域,老将出马果然不负众望,IBM实现了其愿望,领头主导制定了个人PC的行业标准IBM兼容机,在1981年将Intel的8088芯片首次用于IBMPC机中,并与微软合作研发新一代操作系统OS/2,从此开创了全新的微机时代,将初出茅庐的苹果计算机雄霸天下的梦想无情地打碎,从此苹果与IBM老死不相往来。但当初意气风发的少年英雄IBM只猜对了故事的开始,却没猜到故事的结尾,最终赔了夫人又折兵,在PC领域什么好处都没捞到,却造就了两个超级对手:硬件方面,造就了最强的敌手Intel;软件方面,则造就了让无数软件公司恐惧的共同敌人微软。然而这还不是最可怕的,最可怕的是这两个超级
18、强者的联姻WinteL这个联盟打遍天下无敌手,最终压制和消灭了其他巨头的冒泡,称霸IT界数十年。IBM则一步步退出PC领域,最近开始变卖X86服务器,转而退守其有高端RlSE芯片的高端服务器的研发阵地。IT界里与微软、Intel合作的公司貌似都没有“好下场”,IBM第一个领教过,其中的滋味恐怕只有后来的惠普体会最深。惠普一开始拥有自己的CPU和操作系统,与InteI合作的结果是最后耗资10亿元人民币,并花数十年共同研发的安腾64位处理器,事实上已经“寿终正寝”,HP-UNIX也随之“安乐死PC时代的崛起直接导致了WindOWS操作系统统治了世界上绝大多数的PC,让其他操作系统一直处于阴影中。微
19、软作为WindoWS的主人,一路过来消灭了很多对手,包括众多程序员心目中的偶像公司Borland,最终也倒在微软的屠刀下。盖茨亲自登门拜访,最终才将这个公司的软件天才程序员、Delphi之父AnderSHejlSberg收归旗下,后来成为ViSUalJ/.NET/C#之父,他是目前全世界顶尖的软件技术人员之一。论实现技术,Anders可能是目前的第一高手,因为他精通程序语言、编译器技术、开发工具、FrameWOrk及系统架构,并且在每个领域都是顶级专家。有兴趣的同学可以想想,当年微软的ViSUalJ虚拟机在性能上甚至超过了Slm的JVM,最终引发两个巨头的决裂,若当时两家携手,那么今天的JaV
20、a会是怎样一番盛景。制造X86的CPU厂商曾经三足鼎立,如今只剩Intel一家独大,AMD苦苦支撑,而当年的小弟CitriX后来被中国台湾的威盛公司收购。UNIX服务器方面,当年有IBM的POWer系列、SUn的SPARC系歹U、MIPS授权的RISC架构系列、惠普的PA-RISC及DEC的AlPha系列。MIPS处理器是20世纪80年代中期RISCCPU设计的一大热点。MIPS是卖得最好的RlSCCPU,可以从任何地方如Sony、Nintendo的游戏机、CiSCo的路由器和SGl超级计算机中看见其身影。目前RISC体系结构被X86芯片所挑战,MIPS有可能是起初RlSCCPU设计中唯一在2
21、1世纪盈利的产品(本世纪的国产龙芯也采用了它的授权)。和ImeI相比,MIPS的授权费用比较低,被除InteI外的大多数芯片厂商所采用。这里不得不说的是DEC公司AlPha系列的一个经典传奇,AlPha是RISC处理器中速度最快的一种,于1992年2月25日在东京召开的一次会议上被正式推介,拥有诸多先进设计和技术,而且是唯一得到了WindoWSNT继续支持的RlSe处理器(1995年,NT中断了对MIPS和POWerPC的支持),后来苹果也希望把其CPU放入苹果计算机中,但被拒绝了。InteI剽窃了AIPha的大量专利,后来对簿公堂达成和解,Intel拿到了专利和工厂,DEC支持Intel的I
22、A64处理器计划。后来DEC被康柏收购,随后又被惠普收购,Intel在这个过程中却没有成为最大的赢家。DEC才华横溢的工程师们的去向如下:DerriekMeyer加入了AMD公司,设计了K7;JamesKener也去了AMD,不过是KlIbemeteS权威指南的架构师;DanieILeibhOIZ到SUn开发了UltraSPARCV。Intel远没有想象中如此幸运,虽然在DEC公司的最后关头得到了很多好处,却只能看着StrongARM架构胎死腹中,因为当初设计StrongARM-IIO的首席架构师DanielDobberpuhlRichardWiteksGregOryHOePPner和Liam
23、Madden没有一个愿意加入InteL而第一个提出AlPha架构的RiChardSiteS则一蹶不振,一直没有找到像样的工作。在处理器方面,SUn的SPARC处理器是RlSC领域中非常重要的一个产品,从1984年SPARC架构的提出,到1987年的第一款SPARC处理器(比当时的复杂指令集计算机CISC处理器速度要快三倍)的诞生,到获得巨大成功的UItraSPARC-11I,再到8核心32线程的UltraSPARC-Tl和中途被废止的16核心“Rock”,SUnSPARC沉浮25年,奠定了SUn在高端微处理器市场中的领先地位,成就了一段硅谷传奇。SUn公司作为世界上数一数二的技术巨头之一,是曾
24、经唯一可以与IBM比肩的科技公司,从1982年成立到2010年被数据库巨头OraCIe收购,SUn在短暂又惊艳的28年里,创造了一个又一个奇迹,如今SIm虽然不存在了,但是它带给硅谷的深远影响是永存的。让我们一起来回忆一下SUn的辉煌历史吧。30年前,SUn的第5位雇员JOhnGage就提出了“云计算”的概念网络即计算机。Gage是加州大学伯克利分校的一位数学讲师,他预言了“云计算”的出现,后来,“云计算”一直是SUn的工作理念和方向之一。在操作系统方面,SUn贡献给世界的是第一个工业级的优秀UNlX操作系统SoIaris,它与SUnSPARC处理器的硬件体系结构紧密结合,在设计和市场上经常捆
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 分布式 微服
链接地址:https://www.desk33.com/p-727162.html