新浪云计算公开课第三期公开课视频地址一公开课视频地址二公开课视频地址三微博大屏幕•敬请期待互动礼品如何吸引并留住更多的开发者?PAASIAASAppStoreServiceStoreCloudWindow(Mobilecloudapp)PublicCloudEnterprisepubliccloudSWSbasedonOpenstack服务应用场景介绍SinaAppEngine张磊@ElmerZhang•张磊•新浪云计算开发工程师,擅长服务架构、高性能Web开发。目前负责Storage、MySQL等多项服务的架构与开发。数据存储类服务-MySQL服务类型持久存储读写速率适用场景MySQL关系型是中结构化数据存储,如网站用户信息,文章信息等数据存储类服务-Storage服务类型持久存储读写速率Wrapper适用场景Storage文件是低saestor用于下载的文件存储,例如用户上传的图片、附件等数据存储类服务-KVDB服务类型持久存储读写速率Wrapper适用场景KVDBKey/Value是高saekv海量高效非关系型数据存储。例如游戏中玩家的角色数据,网站的配置文件等数据存储类服务-Memcache服务类型持久存储读写速率Wrapper适用场景MemcacheKey/Value否高saemc数据缓存,可用于对模板编译结果的缓存,对数据库中数据的缓存等数据存储类服务-Tmpfs服务类型持久存储读写速率适用场景Tmpfs文件否高脚本执行过程中的临时文件,例如将一段字符串先存入Tmpfs再上传到Storage数据存储类服务对比服务类型持久存储读写速率Wrapper适用场景MySQL关系型是中--结构化数据存储,如网站用户信息,文章信息等Storage文件是低saestor用于下载的文件存储,例如用户上传的图片、附件等MemcacheKey/Value否高saemc数据缓存,可用于对模板编译结果的缓存,对数据库中数据的缓存等KVDBKey/Value是高saekv海量高效非关系型数据存储。例如游戏中玩家的角色数据,网站的配置文件等Tmpfs文件否高--脚本执行过程中的临时文件,例如将一段字符串先存入Tmpfs再上传到Storage异步任务-Cron服务可定时可重复失败回调适用场景Cron是是否定时执行的任务,例如每隔10分钟检查是否有新邮件,每天凌晨1点统计用户积分等任务异步任务-TaskQueue服务可定时可重复失败回调适用场景TaskQueue否否是数据量非常大时,将大任务拆分为小任务,或为提升用户体验,异步处理计算任务。异步任务-DeferredJob服务可定时可重复失败回调适用场景DeferredJob否否否数据导入,数据导出,大数据表结构修改、创建索引•FetchURL:HTTP抓取服务,支持HTTPS。常用于调用外部RESTAPI,抓取外部图片等数据。•SocketProxy:即fsockopen,可连接远程计算机任意端口进行TCP数据传输。例如可用于连接POP服务器接收邮件。暂不支持SSL。数据抓取类服务•Image:提供常用图片处理操作,图片压缩率高,不占用PHP脚本内存。•GD:PHP自带图片处理模块,功能强大,但图片压缩率低,占用脚本内存较多。图片处理服务•Mail:SMTP邮件发送服务,使用用户指定的SMTP服务商发送邮件。邮件服务•XHProf:用于应用性能优化。分析脚本中各函数所消耗的cputime、内存、实际时间。•sae_debug:用于记录一些自定义的日志。例如MySQL连接失败时,可用sae_debug记录连接失败的error信息,以便之后排查问题。•应用体检:用于网站整体性能及安全性分析,分析结果仅供参考。调试类服务•Counter:计数器服务。•Rank:排行榜服务。•Segment:中文分词服务。•FTS:全文检索服务。•APNS:苹果消息推送服务。•SMS:短信服务。SAE特色服务BREAK写不下了:)一些做过的微博App:•张永生•现任北京微明互动信息技术有限公司CEO。PHPer,创业ing,2010年8月开始起接触微博开放平台,至今开发超过50个微博app,最多的一个app达到120万用户。SAE上的微博app实践@张永生2012-04-09#新浪公开课#•SAE常用服务实践•微博应用性能优化•微博应用产品设计定时任务、队列、中文分词等服务让应用开发更高效更快的响应速度、更少的云豆消耗、更好的用户体验产品细节设计不仅能让用户体验更好,更能让应用用户量猛增提纲为什么要用SAE?省钱吗?方便吗?安全吗?……场景:某抽奖/促销活动应用:华为AscendP10元尝鲜摇号活动(ascendp1.sinaapp.com)场景:某抽奖/促销活动特点:持续时间短(一周以内)、短期流量大自建增加硬件、带宽活动过后闲置服务器利用率低运维成本高SAE弹性、按需付费服务器利用率高无需运维成本:五位数+成本500元基于SAE提供的服务开发应用快速开发存储KVDBMysql队列等等….Cron分词1.服务多,涵盖了绝大部分web开发用的到功能。2.无需重复建轮子,开发成本更低,速度更快选择SAE的N个理由省钱!省心!开发速度快!安全!稳定!……Cron实践应用:定时发微博中文分词、排行榜实践应用:微博热点排行榜(topkey.sinaapp.com)KVDB实践(1)存储好友关系应用:好有相似度测试(fbfb.sinaapp.com)KVDB实践(2)存储图片应用:头像拼图(lovepic.sinaapp.com)常规的优化•使用队列•Mysql使用主从•使用MC•使用KVDB•缓存图片等静态资源优化案例1•图片生成类的应用频繁访问某张背景图放到memcache中,用imagecreatefromstring读取•sdk中upload方法直接传入数据,减少一次fetchurl流量应用:“脱光”测试报告(dododog.sinaapp.com)优化案例2•未雨绸缪,提前将图片生成好存入Storage应用:点亮《太极》电影海报(taijimovie.sinaapp.com)微应用特点:病毒式传播应用:寿命计算器(smjsq.sinaapp.com)新浪微博2.5亿用户基数+微博的传播性=高使用量的app用户:上线1个月用户超过120万开发周期:1-2天2011年5月某天深夜,某名人微博宣布私奔第二天上线的app在两天内用户量超过了10W结合当前热点做微博应用应用:你最适合和谁私奔(siben.sinaapp.com)微博应用产品细节设计加关注弹窗设计点确认的用户占20%点确认的用户占35%修改前修改后@张永生zhangys@vliang.com广告:如有微博App开发外包请联系我交流·合作