当前位置首页 > 百科> 正文

SAE平台

2021-01-11 01:47:33 百科
SAE平台

SAE平台

Sina App Engine(以下简称SAE)是新浪研发中心于2009年8月开始内部开发,并在2009年11月3日正式推出第一个Alpha版本的国内首个公有云计算平台,SAE是新浪云计算战略的核心组成部分。 SAE作为国内的公有云计算,从开发伊始借鉴吸纳Google、Amazon等国外公司的公有云计算的成功技术经验,并很快推出不同于他们的具有自身特色的云计算平台。SAE选择在国内流行最广的Web开发语言PHP作为首选的支持语言,Web开发者可以在Linux/Mac/Windows上通过SVN、SDK或者Web版线上代码编辑器进行开发、部署、调试,团队开发时还可以进行成员协作,不同的角色将对代码、项目拥有不同的许可权;SAE提供了一系列分散式计算、存储服务供开发者使用,包括分散式档案存储、分散式资料库集群、分散式快取、分散式定时服务等,这些服务将大大降低开发者的开发成本。同时又由于SAE整体架构的高可靠性和新浪的品牌保证,大大降低了开发者的运营风险。另外,作为典型的云计算,SAE採用“所付即所用,所付仅所用”的计费理念,通过日誌和统计中心精确的计算每个套用的资源消耗(包括CPU、记忆体、磁碟等)。

总之,SAE就是简单高效的分散式Web服务开发、运行平台。

基本介绍

  • 中文名:SAE平台
  • 外文名:Sina App Engine
  • 研发商:新浪
  • 时间:2009年8月
  • 属性:Alpha版本

SAE的优势

SAE的基本目标用户有两种,一种是Web开发者,另一种是普通网际网路上网人群。
SAE的优势SAE的优势
对于Web开发者,SAE带来的好处有:
· 硬体成本更低,无需预先购买设备,承担更大的投入风险
· 开发成本更低,SAE提供许多服务供开发者使用,开发者无需重複开发,包括伫列、资料库、快取、定时、验证码、计数器,几乎覆盖了Web开发的所有领域。另外对于特定开放平台的开发者,比如新浪微博开发者,SAE已经集成了完整的OpenAPI的封装,将开发者的开发成本降到最低。值得一提的是,SAE的开发者目前已经形成了良好的交流氛围,在意见反馈中心、SAE官方群,SAE官方微群可以看到很多热情的开发者在一起共同提高
· 运维成本更低,在SAE上的套用无需关心硬体维护、服务监控、数据容灾等操作,SAE会通过其高可靠的架构和方便的监控页面为用户将运维成本降到最低扩展性更强,在SAE上的服务无需关心服务压力猛增时带来的扩容等操作,SAE自动支持服务扩展
· 更加安全可靠,SAE自动提供SQL语句性能分析、前端防攻击、代码检查等功能,在SAE上的所有套用均为多机房容灾部署,比传统的部署模式更加安全可靠,并且SAE提供服务的SLA来实现对用户服务质量的承诺
对于普通上网人群,使用SAE可以:
使用推荐套用一键安装Web套用,普通用户无需会编码,也可以在瞬间拥有自己的团购、部落格、微博、Wiki等

套用选择

Emlog for SAE
emlog 是 "Every Memory Log" 的简称,意即:点滴记忆。是一款基于PHP和MySQL平台的功能强大的个人部落格系统(blog)。致力于为您提供快速、稳定,且在使用上又极其简单、舒适的部落格服务。
WSS项目管理系统
WSS(White Shark System)基于PMI®全球项目管理标準,专注于项目管理规範性、易用性、以及视觉效果。
主要功能:项目管理、任务管理、工时管理、工作日誌管理、邮件提醒等。
MediaWiKi
MediaWiki 是一套以GPL授权发行的Wiki引擎。 它具有很丰富的功能,并被维基百科及其他维基媒体基金会的计画所採用,亦为世界上很多不同的维基所採用。 MediaWiki採用 PHP语言写成,并以MySQL作为其资料库。
使用MediaWiki的维基文本格式,用户不必懂得XHTML或是CSS也可以很容易的编辑内容。
XWeibo
Xweibo 2.1标準版(beta)是基于新浪api开发的一套微博标準版系统,拥有新浪微博的基础功能,开发者可以在此版本上进行二次开发。
Wordpress for sae
WordPress是一种使用PHP语言开发的部落格平台,用户可以在支持PHP和MySQL资料库的伺服器上架设自己的网誌。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在GNU通用公共许可证下授权发布。
最土团购
最土团购软体是基于Web套用的B/S架构的团购网站建设解决方案的建站系统。它可以让用户高效、快速、低成本的构建个性化、专业化、强大功能的团购网站。
Typecho
基于php5开发,支持多种资料库,是一款核心强健,扩展方便,体验友好,运行流畅的轻量级开源部落格程式。
禅道项目管理软体
禅道项目管理软体(ZenTaoPMS)是一款国产的,基于LGPL协定,开源免费的项目管理软体,它集产品管理、项目管理、测试管理于一体,同时还包含了事务管理、组织管 理等诸多功能,是中小型企业项目管理的首选。
TeamToy
TeamToy是一个用于团队沟通的线上交流工具.

整体构架

SAE从架构上採用分层设计,从上往下分别为反向代理层、路由逻辑层、Web计算服务池。而从Web计算服务层延伸出SAE附属的分散式计算型服务和分散式存储型服务,具体又分成同步计算型服务、异步计算型服务、持久化存储服务、非持久化存储服务。各种服务统一向日誌和统计中心汇报,参考下图:7层反向代理层:HTTP反向代理,在最外层,负责回响用户的HTTP请求,分析请求,并转发到后端的Web服务池上,并提供负载均衡、健康检查等功能。
SAE整体构架SAE整体构架
服务路由层:逻辑层,负责根据请求的唯一标识,快速的映射(O(1)时间複杂度)到相应的Web服务池,并映射到相应的硬体路径。如果发现映射关係不存在或者错误,则给出相应的错误提示。该层对用户隐藏了很多具体地址信息,使开发者无需关心服务的内部实际分配情况。
Web服务池:由一些不同特性的Web服务池组成。每个Web服务池实际是由一组Apache(PHP)组成的,这些池按照不同的SLA提供不同级别的服务。每个Web服务进程实际处理用户的HTTP请求,进程运行在HTTP服务沙盒内,同时还内嵌同样运行在SAE沙盒内的PHP解析引擎。用户的代码最终通过接口调用各种服务。
日誌和统计中心:负责对用户所使用的所有服务进行统计和资源计费,并设定的分钟配额,来判定是否有非正常的使用。分钟配额描述了资源消耗的速度,当资源消耗的速度到达一个预警阈值时,SAE通知系统会提前向用户发出一个警告,提醒用户套用在某个服务上的使用可能存在问题,需要介入关注或处理,配额系统是SAE用来保证整个平台稳定的措施之一;日誌中心负责将用户所有服务的日誌汇总并备份,并提供检索查询服务。
各种分散式服务:SAE提供几乎可以覆盖Web套用开发所有方面的多种服务,用户可以通过StdLib(可以理解为SAE PHP版的STL)很方便的调用它们。

SAE的功能

开发:
· 代码检查,帮助检查不良函式并帮助移植
· 代码部署
· 分散式资料库
· 分散式档案存储
· 分散式快取
· 各种附属分散式服务,包括图像、定时、任务伫列、邮件、计数器等
· 对接多个开放平台,如新浪微博开发平台
· 代码调优,通过XHProf提供
· 资料库最佳化,通过RDC提供
· 团队协作,可以邀请好友以不同的许可权加入项目
· 代码版本管理(计画支持)
运营:
· 套用打包,通过我们的套用嚮导进行推广
· 日誌,包括访问日誌、错误日誌等
· 资源报表,消耗SAE各项资源的统计
· 服务监控,监控各项服务状态
· 数据迁移,包括资料库导入、资料库导出等

服务特性

SAE提供的服务
SAE目前已经提供了十多种服务,整体上分为计算型和存储型,计算型又包括同步计算和异步计算,而存储型则分为持久化存储和非持久化存储。具体列表如下:
服务名称
类型
说明
HTTP+PHP
同步计算
带SAE沙盒的Apache和Zend为用户提供Web计算服务
Storage
持久化存储
提供分散式档案存储
Memcache
非持久化存储
提供分散式快取服务
RDC
持久化存储
分散式资料库集群,提供MySQL服务
TaskQueue
异步计算
异步离线轻量级任务伫列,HTTP方式调用
DeferredJob
异步计算
异步离线重量级任务伫列,系统方式调用
Counter
持久化存储
计数器服务
RankDB
持久化存储
分散式排行榜服务
KVDB
持久化存储
分散式key/value存储服务
Cron
异步计算
分散式定时服务
FetchURL
同步计算
分散式抓取服务
TmpFS
非持久化存储
提供临时档案存储,档案生命周期在一个会话内,Http请求结束档案自动消失
AppConfig
提供套用配置功能,取代Apache htaccess
Mail
异步计算
邮件传送服务
Image
同步计算
图像处理服务
XHProf
同步计算
Facebook提供的强大的PHP调优工具
SVN
持久存储
用户代码部署的入口点
Online CodeEditor
持久存储
线上代码编辑器,编辑的代码保存后入自动入SVN并部署到Web伺服器
两大特性:扩展性和可靠性
· 扩展性
SAE在服务的可扩展性上基本是动态可扩展性的思路,即资源和ID没有强对应关係,用户以服务使用者的身份使用SAE服务。
· 可靠性
在计算可靠性方面,SAE主要是依靠多点部署来完成可靠性,多节点的计算一致性上,SAE有分散式锁服务提供比Paxos更好的容错逻辑。
在数据可靠性方面,SAE的所有数据都通过冗余存储来达到SLA。SAE通过主动複製和被动複製来实现多点数据冗余。
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net