GoogleAppEngine前端技术架构解析今天看到几篇有关GoogleAppEngine的技术架构文章,一起分享给大家,没看到过的同学赶紧惊喜一下吧,看到过了的同学也假装惊喜一下嘛,呵呵
全部文章有点长,请耐心看下去,相信程序员都是有耐心的,除了我
一、Google的核心技术在切入GoogleAppEngine之前,首先会对Google的核心技术和其整体架构进行分析,以帮助大家之后更好地理解GoogleAppEngine的实现
本篇将主要介绍Google的十个核心技术,而且可以分为四大类:◆分布式基础设施:GFS、Chubby和ProtocolBuffer
◆分布式大规模数据处理:MapReduce和Sawzall
◆分布式数据库技术:BigTable和数据库Sharding
◆数据中心优化技术:数据中心高温化、12V电池和服务器整合
分布式基础设施GFS由于搜索引擎需要处理海量的数据,所以Google的两位创始人LarryPage和SergeyBrin在创业初期设计一套名为"BigFiles"的文件系统,而GFS(全称为"GoogleFileSystem")这套分布式文件系统则是"BigFiles"的延续
首先,介绍它的架构,GFS主要分为两类节点:◆Master节点:主要存储与数据文件相关的元数据,而不是Chunk(数据块)
元数据包括一个能将64位标签映射到数据块的位置及其组成文件的表格,数据块副本位置和哪个进程正在读写特定的数据块等
还有Master节点会周期性地接收从每个Chunk节点来的更新("Heart-beat")来让元数据保持最新状态
◆Chunk节点:顾名思义,肯定用来存储Chunk,数据文件通过被分割为每个默认大小为64MB的Chunk的方式存储,而且每个Chunk有唯一一个64位标签,并且每个Chunk都会在整个分布式系统被复制多次,