Google是我最好的朋友,也是我最大的敌人
> A doodle on Google
众所周知,谷歌是世界上最大的公司之一。 Google从1998年的一家小型初创公司成长而来。如今,Google已通过Google搜索,YouTube,Gmail和其他Google拥有的产品和服务获得了数十亿用户。
共享是我的一种激情,今天,我很高兴分享有关Google如何构建这些大型系统的知识。
规模艺术统计资料…
Google的故事是一个扩大规模的故事。 Google目前有超过80万台计算机。 2022年,Google对130万亿个网页进行了索引,每天处理超过十亿个搜索请求和20 PB用户生成的数据。 到现在为止,谁知道呢?
是什么让Google拥有如此规模?
Google使用什么技术堆栈?
> Google's tech stack
第一次接触
Google使用许多反向代理将任何客户端请求定向到后端的适当服务器。
在不稳定的数字时代生存 数据驱动的投资者如果您是计算机科学家,您可能已经注意到新框架不断涌现。 编程中…
所有图像缩略图缓存文件,大量媒体和昂贵的常见查询都被函授缓存,因为它们需要大量的后端处理。
大小很重要
> Google Data Centers created by Pingdom
Google在世界各地拥有和运营数据中心,以使其产品每周7天,每天24小时不间断运行。 最后估计的是总共36个数据中心-美国19个,欧洲12个,亚洲3个,俄罗斯和南美每个1。 未来的数据中心站点可能包括台湾,马来西亚,立陶宛和南卡罗来纳州的布莱斯伍德,据报道,谷歌已经在这里购买了466英亩的土地1。
服务器如何存储在数据中心中?
将服务器放置在装运容器中的机架中。 每个运输集装箱最多可容纳1,160台服务器。 一个数据中心将由100多个模块化单元组成。
操作系统实施
自1998年以来,Google一直使用100%的定制RedHatLinux。Google定制了glib,rpc,ipvs,gPXE引导加载程序等。
秘密酱料
Google软件包含三个核心元素:GFS,Google File System,BigTable和MapReduce算法。
Google文件系统-GFS II。 它是用于大型分布式数据密集型应用程序的可伸缩分布式文件系统,在廉价的通用硬件上运行时可提供容错能力。 GFS在许多服务器上存储数据,并且可以在几乎所有计算机上运行。 GFS体系结构中有三种实体:客户端,主服务器和块服务器。 一个客户端和多个客户端访问的多个块服务器2。 GDS还取决于CAP定理,即分布式数据库系统只能具有3:一致性,可用性和分区容限3中的2个。
> GFS II Architecture
Google数据库-BigTable?。 为了提供所有数据的某种结构,Google使用了BigTable(由Google于2004年开始设计),该产品已在70多个Google项目中使用,包括Google Maps,Google Earth,Blogger,Google Print,Orkut和核心搜索索引。
> BigTable — Google Database
Google计算-MapReduce?。 它为公司提供了一种使数据真正有用的方法。 例如,MapReduce可以发现某个特定单词出现在Google的搜索索引中的次数; 出现单词的网页列表; 以及链接到特定网站的所有网站的列表。
建立自己的Google
您可以使用与Google技术栈相匹配的开放源代码来构建自己的Google。
> Build your own Google by using open-sources
我们从哪里得到它们?
· CentOS:https://centos
· HDFS:https://hadoop.apache/hdfs/
· HBase:https://hbase.apache
· Hadoop,MapReduce和作业跟踪器:https://hadoop.apache
如果您使用技术堆栈作为我的建议,也许我们可以实现。