Google网站的服务器基本架构,值得研究学习。
2020-12-31 14:35:07 阅读(195) 评论(0)
Google,无疑是互联网时代最闪亮的明星。截至今天,Google美国主站已连续三年在Alexa排名第一。在Alexatop100中,各国Google分站占据了20多个名额,不得不感叹Gogle的实力。无论何时何地,无论你搜索多么不受欢迎的词汇,只要你的计算机连接到互联网,只要你轻轻点击“谷歌搜索”,所有相关内容谷歌都将在1秒内完成,这甚至比你查询“我的文档”更快。这就是为什么谷歌创业12年,市值超过2000亿美元。有些人可能会认为谷歌有几台超级计算机,比如“蓝色基因”来处理各种数据和搜索,事实是什么?下面我们将详细分析神奇谷歌的神奇结构。硬件:截至2010年,谷歌大约有100万台服务器和500多个计算机集群来处理不同地区的不同任务。不幸的是,在多个文献库中找不到服务器的详细配置和最新集群的具体情况。我个人理解,这可能是一个商业秘密。也许是因为秘密,强大的谷歌计算机集群没有提交谷歌500计算机的申请。多年来,我们在谷歌500中看不到谷歌的影子。(进入前500需要提交并披露其计算机系统的详细配置)但根据文献,可以肯定的是,45万台服务器不是昂贵的服务器,而是非常普通的电脑级服务器,两年前服务器硬盘一般是IDE接口,使用电脑级主板而不是昂贵的服务器专用主板。谷歌的集群都是自己建造的,没有先进昂贵的集群连接技术,比如Myricom的Myrinet或者Giganet的CLAN。谷歌数据中心和服务器之间的不同耦合程度是根据需要连接的。那么gogle的存储呢?谷歌存储着大量的信息,近1000亿个网页,数百亿张图片。Google的存储容量早在2004年就达到了5PB。许多读者一开始可能认为谷歌使用EMCSymetrix系列磁盘阵列来保存大量信息,但谷歌的实际做法再次让我们惊讶——谷歌没有使用任何磁盘阵列,即使是低端磁盘阵列也是无用的。Google的方法是配备两个普通IDE硬盘存储集群中的每个PC级服务器。然而,谷歌并非所有设备都落后。至少这些硬盘的速度很高,每个服务器的内存相对较大。谁是最大的电脑DIY消费者?恐怕谷歌又登上了DIY宝座。谷歌的绝大多数服务器甚至不购买大品牌,而是购买各种廉价零件并自行组装。有趣的是,谷歌对现有PC电源的功耗非常不满意,甚至自己设计了谷歌专用服务器电源。很快,我们就有了问题。这样一个由PC级服务器构建的系统,怎样才能承受巨大的工作负荷?如何保证高可用性?事实上,这些低端服务器经常发生故障——硬盘断路、系统停机等事故,实际上每天发生在45万台服务器中。Google的方法是设置镜像站。以谷歌主站为例,2003年在美国硅谷和弗吉尼亚设立了多个镜像站。其实这些镜像站并不是传统的镜像站。真正的镜像站是双机热备,当一台服务器停机时,另一台服务器接管相关任务。事实上,Google镜像站的真正职责是DNS负载均衡,所以一些Google镜像站本身也有自己的镜像站。这里举个例子来说明谷歌镜像站的作用:一次访问,DNS正常分析到A,但当A负载过大时,DNS服务会将域名分析到B,这不仅实现了冗余,而且减少了投资。由于不是双机热备,镜像站的内容在一定时间内可能会有所不同,但对于精度要求较低的普通检索来说,这不是问题。平台:GFS/MapReduce/BigTable/LinuxGFS/MapReduce/BigTable/这三个平台是Google最引以为傲的平台,都是Linux以上的架构。首先,让我们看看GFS(GoogleFileSystem)Google文件系统。在检索一般数据中心时,我们知道需要使用数据库系统。然而,谷歌的情况非常特殊——谷歌拥有世界上数百亿个网络文档。如果使用传统数据库系统进行检索,则可以想象检索速度。因此,当Crawlers收集到许多新的Web时,Google将许多Web收集到一个文件中进行存储管理,Google将Web文件压缩成Chunk块,以进一步减少占用空间(64MBChunk)。最后,Google只检索压缩部分。而GFS(GoogleFileSystem)GFS包括GFSMaster服务器和Chunk服务器,正是在这种检索技术上构建的文件系统。如下图所示,系统流程从GFS客户端开始:GFS客户端以Chunk偏移量制作目录索引并发送请求-GFSMaster通过Chunk映射表映射反馈客户端-客户端具有Chunk和Chunk位置,并缓存文件名和Chunk目录索引,向chunk服务器发送请求-chunk服务器回复请求传输chunk数据。如果读者有点困惑,这是正常的,因为只有少数搜索引擎公司使用这种技术。如果读者有点困惑,这是正常的,因为只有少数搜索引擎公司使用这种技术。简单地说,谷歌使用GFS大大简化了搜索的难度。除GFS外,Mapreduce还为Gogle做出了巨大贡献。谷歌拥有不少于45万台服务器,似乎每台服务器的功能都非常清晰,但有一个重要的协作问题需要解决:如何并发计算,如何分布数据,如何处理失败,如何平衡负载?我们可以预见,无数的代码将用于协同问题,而且很可能效率低下。这时,Mapreduce就派上用场了。Mapreduce是Google开发的Cogle 大规模数据集并行运算的编程工具。Mapreduce的主要功能是提供一个简单而强大的接口,可以自动并发和分布计算。通过这种方式,可以通过普通PC集群实现高性能。Mapreduce主要从两个方面改进系统:一是计算机故障问题。如果一台计算机失败或I/O出现问题——这在谷歌中由廉价服务器组成的集群中非常常见。Mapreduce的解决方案是用多台计算机同时计算任务。一旦计算机有结果,其他计算机将停止任务并进入下一个任务。此外,Mapreduce之间传输的数据被压缩,节省了大量带宽资源。至于BigTable,它是一个适合处理半结构化数据的系统,用于处理大数据量。谷歌心经:谷歌总是试图用最少的钱,做最多的事。不要低估那些便宜、不可靠的PC服务器。一台服务器可能不可靠,但45万台的有机集成已成为世界上最完善、最稳定的系统之一。Google在采购服务器方面从未一次大量购买,都是有需求再次购买。另一个能体现Google精打细算的方面是Google尽可能压缩所有能压缩的文件。Google的设计理念非常前卫,包括软件和硬件。Google尝试了许多仍在实验室中的萌芽技术。正如上面提到的,许多都取得了巨大的成功。Google的早期目标是在0.5秒内制作搜索结果,但实际上目前的平均时间已经缩短到0.25秒。此外,谷歌从未停止过研究,现在仍在测试OpenSoalris,观察OpenSoalris是否能取代Linux。谷歌的行为很踏实。不参加Top500评选,文献中也很少有相关资料。可见谷歌并不吹嘘,也没有过度宣传,只是勤勤恳恳地更新程序,优化集群。如今,谷歌包含了绝大多数人类语言的网页,并在大多数国家建立了谷歌分站,包含的网页也在增加,全球影响是不言而喻的。学习谷歌的结构,向谷歌的成就致敬。Google是伸缩之王。谷歌的目标一直是建立高性能、高伸缩性的基本组织来支持其产品。大量平台Linux语言:Python,Java,C 2006年,大约有4.5万台廉价服务器,到2010年增加到1万台。Google在2005年索引了80亿Web页面,现在没有人知道具体数量,近1000亿并在增长。Gogle目前有500多个GFS集群。一个集群可以有1000台甚至5000台机器。数千台机器从运行5万万字节存储的GFS集群中获取数据。集群的总读写吞吐量可以达到每秒40兆字节。目前Google有6000个Mapreduce程序,每个月都写成100个新程序Bigtable伸缩存储数十亿URL。数百千兆卫星图片和数亿用户参数选择堆栈谷歌形象化其基本组织为三层结构:1、产品:搜索、广告、email,分布式系统基本组织:地图、视频、聊天、博客2:GFS,Mapreduce和BigTable3,计算平台:一组不同数据中心的机器4,确保公司内人员部署起来的费用很小,在避免丢失日志数据的硬件上花费更多的钱,而其他类型的数据则花费更少可靠的存储机制GFS(GoogleFileSystem)可靠的伸缩性存储是任何程序的核心需求。GFS是Gogle的核心存储平台2,GoogleFileSystem–Google在大型分布式结构化日志文件系统中投入了大量数据3。为什么要建立GFS而不是使用现有的东西?因为你可以自己控制一切,而且这个平台和其他平台不一样,谷歌需要:-跨数据中心的高可靠性——成千上万的网络节点的可伸缩性——大读写带宽的需求——支持大数据,这可能会减少数千兆字节-高效跨节点操作分发的瓶颈。4.系统中有Master和chunk服务器——Master服务器,在不同的数据文件中保持元数据。数据以64MB为单位存储在文件系统中。数据以64MB存储在文件系统中。客户端与Master服务器沟通,在文件上进行元数据操作,找到包含用户需要数据的Chunk服务器-Chunk服务器,在硬盘上存储实际数据。为了避免服务器崩溃,每个Chunk服务器跨越三个不同的Chunk服务器备份。一旦Master服务器指示,客户端程序将直接从Chunk服务器读取文件6。一个在线新程序可以使用现有的GFS集群或制作自己的GFS集群7。关键是要有足够的基本组织让人们选择自己的程序。GFS可以调整以满足个别程序的需要。使用Mapreduce处理数据1,现在你有了一个很好的存储系统,你应该如何处理这么多的数据?例如,您在1000台机器上存储了许多TB数据。例如,您在1000台机器上存储了大量TB数据。数据库不能扩展到这个水平,这就是Mapreduce出现的原因2。Mapreduce是一种编程模型和相关实现,可以处理和生成大量的数据集。用户指定map方法处理键/值对生成中间键/值对,并将所有相关中间键的中间值合并为reduce。这种模型可以用来表达现实世界中的许多任务。以这种风格编写的程序将在大量机器的集群中自动并行运行。系统照顾输入数据划分、程序在机器集之间的调度、机器故障处理和必要的内部机器通信等细节。这使得程序员很容易使用一个大型分布式系统资源3,而没有太多平行和分布式系统的经验。为什么使用Mapreduce?-处理机器失败的好方法——可以与不同类型的程序一起工作,比如搜索和广告。几乎任何程序都有map和reduce类型的操作。您可以提前计算有用的数据、查询字数统计、TB数据排序等4。Mapreduce系统有三种不同类型的服务器——Master服务器,将用户任务分配给Map和Reduce服务器。它还跟踪任务状态-Map服务器接收用户输入,并在此基础上处理Map操作。结果写入中间文件-Reduce服务器接收Map服务器生成的中间文件,并在此基础上处理reduce操作5。例如,您希望在所有web页面中的字数。将存储在GFS中的所有页面抛入Mapreduce。这将在成千上万台机器上同时进行,所有的调整、工作调度、失败处理和数据传输都将自动完成——类似于步骤:GFS->Map->Shuffle->Reduction->StoreResultsbackintoGFS-在Mapreduce中,一个map操作将一些数据映射到另一个
推荐阅读
- 好用的卫浴品牌有哪些 卫浴品牌排行榜前十名
目前国内来讲,主要以广东佛山、福建南安、河北唐山、河南长葛、四川简阳等几大卫浴生产基地。就产品配套措施完整度而言,还是以广东佛山的品牌为优,毕竟中国陶瓷城就坐落于佛山嘛。下面万商云集小编就给大家来详细介绍一下好用的卫浴品牌有哪些 卫浴品…查看详情
- 哪家的CRM能够算是好用的CRM
随着我国经济水平的不断上升,各行各业竞争激烈。许多的企业为有效的进行客户管理,都实施引进CRM系统,可是在面对众多的CRM产品,却不知道如何选择一款好用的CRM。如果选择错了,反而会成为企业的负担,因此选择一款好用的CRM真的尤为重要。接下…查看详情
- 域名重定向是什么意思
域名重定向(Domain Redirect)指的是将一直域名的访问请求自动重定向到另一个指定的域名或网址上。在互联网上,域名重定向是一个很常见的操作,对于网站的维护和运营非常重要,在实际应用中,域名重定向具有以下几个方面的作用: 1…查看详情
- 为什么ERP系统实施难?应该怎样规避风险
中小企业在信息数字化的道路上徘徊不前,并不是看不到先进的技术和理念,其核心原因是ERP系统实施困难的问题没有得到良好的解决。目前通过实施ERP来提高企业自身的成本、速度、管理、质量、科技等方面的竞争优势,已成为中小企业的当务之急。谁能先一步…查看详情
- 建设网站的步骤,手把手教你搭建优质网站
很多的企业为了能够带来更好的推广,都特别注重网站的建设,几乎现在大大小小的企业都有属于自己的网站。建立网站之后也能够得到很好的推广,能够将自己的产品更好的推销出去,吸引更多的客户。但是在建立网站的时候,也应该要了解相关的建站步骤…查看详情
- 拼图软件哪个好用 十大拼图软件排名
现在很多人拍照都离不开拼图这个点,市面上其实有很多的拼图软件,下面万商云集小编就给大家来详细介绍一下拼图软件哪个好用 十大拼图软件排名这方面的内容,希望能帮助到大家。 1.美图秀秀 美图秀秀是一款很受欢迎的图片处理软件,使用者不仅可以…查看详情
- 豆瓣排名前50电影
优质答案(1) 1、人生:《美国往事》 2、痛苦:《现代启示录》 3、信念:《肖申克的救赎》 4、哲思《第七封印》 5、执着《阿甘正传》 6、才华《东方不败》 7、爱情《罗马假日》 优质答案(2) 《最初的梦想》 影…查看详情
- 十大财务软件分享,总有一款适合你
随着时代的变迁,如今的财务早已经不同于以往的“账房先生”,仅凭算盘和纸笔就能指导“天下”。现在的企业拥有庞大的数据需要分析处理,以及各项数据申报,而这些都是离不开财务软件的辅助。但是对于选购财务软件,我们不仅要擦亮双眼,还要了解相关财务软件…查看详情
- 公司网站建设需要多少钱?包含4个部分费用
随着我国经济的不断进步,创业环境有了很大的改善。很多创业人士在创投初期就会开始着手打造公司网站,这是一个公司对外树立形象的重要途径,甚至有人说公司网站平台的成功打造就是创业成功的一半。那么就一定会有人问了,公司网站建设到底需要多少钱呢。下面…查看详情
- 解压文件的软件哪个好?好用的解压文件软件推荐
当我们接收一些文件的时候,很有可能是属于压缩的文件,那么这个时候想要查看文件,就应该对文件进行压缩,需要用到比较好的软件,能够压缩文件的软件很多。那么解压文件的软件哪个好?接下来就给大家详细的介绍几款比较好的解压文件的软件,希望…查看详情
- 会员卡管理系统价格影响因素有哪些?
会员卡管理系统价格影响因素有哪些?会员卡管理系统价格影响因素还是比较多的,比如说软件的开发成本等等,大家应该都知道,在软件开始上线之前需要经过很多环节,包括了软件需求方面的调研工作以及功能流程的原型确定,再就是到后期的编码开发、软件反复测试…查看详情
- erp有哪些品牌,可供企业选择
在如今,企业已难仅依靠自己内部资源在市场竞争中获得优势,还需将供应商、制造商、客户等集中利用,产生高效生产和经营、收获低成本、高效率的竞争优势,所以erp系统纷纷被企业所使用。那么现今市场上erp有哪些品牌可供企业选择呢?不妨接着往下看。图…查看详情
- 外贸独立站的建站技巧有哪些?
外贸独立建站,可能很多人并没有听说过这个名词,其实简单来说就是建立一个属于自己能够掌控的平台,而且是属于电商平台将商品传上去之后需要自己去进行推广去营销。因此在进行外贸独立站的建设时,也应该有掌握一些相关的技巧,这样在推广营销的…查看详情
- matlab下载哪个版本好
MATLAB2018a怎么下载安装与激活?答:mathworksmatlabr2018a中文版,64位版本,附带了相应的序列号和许可文件,可以完美成功激活软件,其详细的安装教程可参考下文,希望对你有帮助 matlab2018a 教程: …查看详情
- 人气火爆的言情小说排行榜,哪本是你的最爱?
每个人所选择的小说不相同,对于看完小说的感受也不一样,那么,想要快速的选出一部好的小说去看,就要提前了解一下言情现代小说排行榜都有哪些,这样才可以选出一部好的小说去看。1《何以笙箫默》顾漫(著)一段年轻时候的爱情,牵扯出一辈子的纠缠不清。学…查看详情
猜你喜欢
最新文章

扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线:400-0033-166
服务时间:8:30-18:00
软件企业
认定号:川RQ-2018-0216
高新技术企业
认定号:GR201951001121

关注微信公众号
和10万中小企业共同成长

扫码下载APP
享全方位服务一触即达
Copyright © 2004-2022 万商云集(成都)科技股份有限公司 版权所有
蜀ICP备12001963号-2
川公网安备 51010402000322号

快速找产品

找一找哪款产品适合您?
咨询热线:400-0033-166
-


-
电话沟通
获取方案
下载APP
官方微信
扫码下载APP
全方位服务一触即达

关注万商云集
和10万中小企共成长

TOP

企业首选的数字选用平台

400-0033-166
8:30-18:00
















































注册有好礼



