文档介绍:他山之石--了解云计算标杆 Google 的技术构架
李伟 @
一、前言
云计算无疑是今年 IT 技术界最热点的关键词之一。从谷歌趋势分析来看,国际上 Cloud
computing 是从 2007 年中期开始成为整个业界关注的重点,在中国云计算是从 2008 年开始
成为中国 IT 界和通信界关注的核心。特别是,当中国移动 2008 年开始关注云计算,并推动
中台开始向云计算的平台迁移。使得整个中国 IT
界、通信界的相关产业力量更加关注云计算,同时大家也开始意识到了云计算确实可以大大
的节省海量计算的总体拥有成本。
puting 云计算
当业界谈到云计算的时候,都会第一个想到谷歌 Google。我们日常在使用的 Google
Search,Google Earth,Goolge Map,Google Gmail,Google Doc 等等业务都是 Google 基于自
己云计算平台来提供的。Google 也是通过云计算的方式,大量的降低计算成本,使之业务
更具有竞争力。
Google 原先企业初期阶段,获得的投资有限,只能自己攒机,但是很差的机器不可能
发挥服务器的性能和稳定性,于是只有去想该如何提高可靠性,如何利用很多"破烂"机器获
得更高的性能。这就有了云计算的雏形。
今天我们都知道 Google 的规模,而如果我们不去认清云计算的强大,我们就不知道互
联网的未来和规则。Google 在 98 年的时候发现了这一规则,然后我们看到了聚合的力量,
今天微软、IBM、雅虎、百度、亚马逊这些企业看到了规则,于是开始进入云计算领域。所
以我们研究云计算,可以系统剖析一下 Google 的技术构架,这对于我们搭建自己自身的云
计算平台有比较好的借鉴意义和标杆意义!
二、Google 的整体技术构架说明
由于 Google 没有官方发布一个自身的技术构架说明。本文主要的信息都来自互联网中
对于 Google 网络技术构架的分析,大量信息来自 labs. 。
Google 最大的 IT 优势在于它能建造出既富于性价比(并非廉价)又能承受极高负载的高
性能系统。因此 Google 认为自己与竞争对手,如亚马逊网站(Amazon)、电子港湾(eBay)、微
软(Microsoft)和雅虎(Yahoo)等公司相比,具有更大的成本优势。其 IT 系统运营约为其他互
联网公司的 60%左右。
同时 Google 程序员的效率比其他 Web 公司同行们高出 50%~100%,原因是 Google 已
经开发出了一整套专用于支持大规模并行系统编程的定制软件库。
从整体来看,Google 的云计算平台包括了如下的技术层次。
1)网络系统:包括外部网络(work) ,这个外部网络并不是指运营商自己的
骨干网,也是指在 Google 云计算服务器中心以外,由 Google 自己搭建的由于不同地区衡的数据交换网络。内部网络(work),连接各个 Google
自建的数据中心之间的网络系统。
2)硬件系统:从层次上来看,包括单个服务器、整合了多服务器机架和存放、连接各
个服务器机架的数据中心(IDC)。
3)软件系统:包括每个服务器上面的安装的单机的操作系统经过修改过的 Redhat Linux。
Google 云计算底层软件系统(文件系统 GFS、并行计算处理算法 Mapreduce、并行数据库
Bigtable,并行锁服务 Chubby Lock,云计算消息队列 GWQ)
4)Google 内部使用的软件开发工具 Python、Java、C++ 等
5)Google 自己开发的应用软件 Google Search 、Google Email 、Google Earth
三、Google 各个层次技术介绍
1、Google 外部网络系统介绍
当一个互联网用户输入,这个 URL 请求就会发到Google DNS 解
析服务器当中去,那么 Google 的 DNS 服务器就会根据用户自身的 IP 地址来判断,这个用
户请求是来自那个国家、那个地区。根据不同用户的 IP 地址信息,解析到不同的 Google 的
数据中心。
进入第一道防火墙,这次防火墙主要是根据不同端口来判断应用,过滤相应的流量。如
果仅仅接受浏览器应用的访问,一般只会开放 80 端口 http,和 443 端口 https (通过 SSL
加密)。将其他的来自互联网上的非 Ipv4 /V6 非 80/443 端口的请求都放弃,避免遭受互联
网上大量