Sina App Engine架构.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Sina App Engine架构

Sina App Engine架构——云计算时代的分布式Web服务解决方案Sina?App?Engine(简称SAE)是新浪研发中心于2009年上半年开始内部开发,并在2009年11月3日正式推出第一个Alpha版本的国内首个公有云计算平台(),是新浪云计算(简称浪云)战略的核心组成部分。SAE作为国内的公有云计算,借鉴吸纳了Google、Amazon等国外公司的公有云计算的成功技术经验,并很快推出具有自身特色的云计算平台。SAE选择PHP作为首选的支持语言,Web开发者可以在Linux/Mac/Windows上通过SDK或者Web版在线SDK进行开发、部署、调试,团队开发时还可以进行成员协作,不同的角色将对代码、项目拥有不同的权限。SAE还提供了一系列分布式计算、存储服务供开发者使用,包括分布式文件存储、分布式数据库集群、分布式缓存、分布式定时服务等,这些服务将大大降低开发者的开发成本。同时又由于SAE整体架构的高可靠性和新浪的品牌保证,大大降低了开发者的运营风险。另外,作为典型的云计算,SAE采用“所付即所用,所付仅所用”的计费理念,通过日志和统计中心精确的计算每个应用的资源消耗(包括CPU、内存、磁盘等)。总之,SAE就是分布式Web服务的开发、运行平台。SAE的目标和发展云计算在国外已经有4~5年的历史。2006年,Amazon就推出了以EC2为代表的公有云计算,并且实现了大规模盈利;2008年,Google推出了以Google?App?Engine为代表的公有云计算。国内的云计算一直是炒得很厉害,各大互联网公司都在宣传,但真正有技术实力做出来而又对外公开使用的少之又少。从2004年开始,新浪就开始了私有云方向的研究和实践,以此为基础的动态应用平台目前已经支撑新浪内部的绝大部分业务。从2008年起,新浪又启动了“浪云”的公有云计算计划,相继开发了分布式队列服务、P2P文件系统、分布式计算框架等一系列基础服务。实际SAE就是“浪云”战略的产物。SAE从架构设计和代码编写开始,就明确了自身的两个目标:第一,做公有云计算平台,公有云不同于私有云,更强调安全性和可靠性,这也对整体的架构设计和技术实现提出了更苛刻的要求;第二,为分布式Web服务提供一整套的解决方案,SAE争取提供开发者开发Web应用过程中所用到的所有服务。经过技术团队一年的开发,SAE目前已经提供了十多种服务,整体上分为计算型和存储型,计算型又包括同步计算和异步计算,而存储型则分为持久化存储和非持久化存储,如表2所示。SAE于2009年11月3日发布了Alpha1版本,2010年2月1日发布了Alpha2版本,2010年9月1日发布了Beta版本,经过将近一年的不断完善和改进,尽管SAE一直没有开放注册(实际云计算的模式也不以注册用户的规模为评价标准),但已经拥有了一批有价值的App和粉丝开发者。截止10月1日,SAE拥有开发者4000多名,App总数3000个,活跃App将近1000个,每天独立代码部署行为超过1000次。整体架构SAE从架构上采用分层设计,从上往下分别为反向代理层、路由逻辑层、Web计算服务池。而从Web计算服务层延伸出SAE附属的分布式计算型服务和分布式存储型服务,具体又分成同步计算型服务、异步计算型服务、持久化存储服务、非持久化存储服务。各种服务统一向日志和统计中心汇报如图1所示。图1 SAE整体架构图7层反向代理层:HTTP反向代理,在最外层,负责响应用户的HTTP请求、分析请求并转发到后端的Web服务池上,提供负载均衡、健康检查等功能。服务路由层:逻辑层,负责根据请求的唯一标识,快速地映射(O(1)时间复杂度)到相应的Web服务池及相应的硬件路径。如果发现映射关系不存在或者错误,则给出相应的错误提示。该层对用户隐藏了很多具体地址信息,使开发者无须关心服务的内部实际分配情况。Web服务池:由一些不同特性的Web服务池组成。每个Web服务池实际是由一组Apache?Server组成的,这些池按照不同的SLA提供不同级别的服务。每个Web服务进程实际处理用户的HTTP请求,进程运行在HTTP服务沙盒内,同时还同样内嵌运行在SAE沙盒内的PHP解析引擎。用户的代码最终通过接口调用各种服务。日志和统计中心:负责对用户所使用的所有服务的配额进行统计和资源计费,这里的配额有两种,一种是分钟配额,用来保证整个平台的稳定;一种是天配额,用户可以给自己设定每天资源消耗的最高上限。日志中心负责将用户所有服务的日志汇总并备份,并提供检索查询服务。各种分布式服务:SAE提供Web应用开发所需的大多数服务,同时支持接入第三方服务,用户可以通过StdLib(可以理解为SAE?PHP版的STL)很方便地调用它们。真正的用户代码是跑在SAE提供的Web运行环境下的,为

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档