第1页
雅虎的移动云
朱凌
雅虎北京研发中心技术总监
zhuling@yahoo-inc.com
第2页
什么是移动云
2
Yahoo Confidential & Proprietary
云服务和移动互联网的结合。
把云端的海量计算和存储资源,开放给移动设备,从而提供给用户更丰富的体验
移动设备有用户更多的信息:位置、时区时间、使用行为等,帮助移动云更好的了解用户
移动云帮助用户在多移动设备间无缝切换,保持一致的用户体验
移动云通过消息推送,让用户持续回到感兴趣的内容和应用中
第3页
移动为先是雅虎的战略
3
Yahoo Confidential & Proprietary
雅虎全球月活跃用户超过10亿,其中5.5亿用户在移动端使用雅虎的产品
雅虎移动收入开始加速增长,第三季度移动收入达2亿美元,预计全年移动收入可达12亿美元
第三季度,雅虎还收购了全球最大的移动分析和广告平台Flurry,进一步增强了雅虎在移动方面的投资
第4页
雅虎现有的移动云资产
4
Yahoo Confidential & Proprietary
第5页
5
Yahoo Confidential & Proprietary
第6页
设备类型识别
6
为什么需要识别用户的设备类型
针对特定屏幕尺寸的设备优化
更精准的广告,例如:仅针对iPhone/iPad用户推送的广告
分析不同设备用户的增长趋势,平均消费能力,指导产品开发
识别用户设备类型困难吗?
没有统一的标准,需要可靠的算法从User Agent中提取可能的信息
用户拥有越来越多的设备,并同时使用这些设备
2013年平均每个用户有超过2.9台设备,到2017年可能超过5台
http://www.businessinsider.com/cisco-predicts-mobile-2013-5?op=1
http://www.cnmeonline.com/news/average-user-carries-2-9-devices-sophos/
第7页
设备类型识别
7
Yahoo的设备识别服务包含了超过2万4千种设备,对Yahoo的网页访问覆盖率达到99.7%以上。
通过对Yahoo每天网页访问的日志进行分析,提取出不能识别的请求,进一步改进覆盖率
通过对频繁访问的设备UA进行缓存,提高性能。
平均识别时间在0.2毫秒以下,性能损耗极低
缓存数据在30兆以下,便于开发者安装包
http://www.businessinsider.com/cisco-predicts-mobile-2013-5?op=1
http://www.cnmeonline.com/news/average-user-carries-2-9-devices-sophos/
提供了设备的各种参数包括屏幕尺寸、操作系统版本、浏览器型号等等
主要输入信息是用户的User Agent信息和User IP信息。采取智能化算法提取关键字,确定设备类型
第8页
简单易用的key-value数据存储平台
8
仅需提供appid,即可随时注册,随时使用
使用Yahoo标准验证方式(YT cookie) ,用户可以直接存取自己的数据。
对每个appid中key的数量没有限制,每个value的大小控制在100k以内
提供批量存取API (batch mode),提升性能
在各个数据中心间有同步机制,保证数据安全可靠
第9页
高性能的图片服务
9
网站和应用越来越多依赖于图片,用户会在不同的设备上浏览图片
在雅虎首页上超过60%的请求是图片
在手机上下载同样的图片?
顺便说一下Yahoo实验室公开了1亿Flickr的图片和视频供研究用
第10页
高性能的图片服务
10
有效的减小图片的尺寸可以大幅提高用户加载速度,同时降低网站的流量带宽费用,提高手机续航能力
Yahoo的图片流量超过15G每秒
我们在尝试使用GPU加速来提升图片压缩服务的性能。
30毫秒左右可以将2048*2048大小的jpg图片压缩为1024*1024的jpg图片,使用CPU则需要约80多毫秒
CUDA是我们在探索使用的主要技术
顺便说一下Yahoo实验室公开了1亿Flickr的图片和视频供研究用
第11页
图片服务系统设计
11
Yahoo Confidential & Proprietary
第12页
Desktop
Tablet
Phone
第13页
Flurry
13
Yahoo Confidential & Proprietary
全球超过17万移动开发者,54万移动应用在使用Flurry。Flurry Analytic已经是事实上的移动分析业界标准
每天的session数:55亿
第14页
Flurry
14
Yahoo Confidential & Proprietary
大数据是Flurry的核心资产。Flurry帮助开发者更深入的了解用户
Hbase, Kafuka
第15页
大规模消息推送平台
15
Yahoo Confidential & Proprietary
支持雅虎全部移动App推送消息
邮箱,Flickr,新闻,天气,体育,财经,雅虎通,……
推送的内容包括
新电子邮件通知,社交app的消息和更新,重要新闻,天气
用户留存率提升2倍以上
第16页
消息推送平台的系统架构
16
Yahoo Confidential & Proprietary
保证消息推送的可靠性(确认+超时重传)
TCP通道:移动设备分组 – 每个节点负责指定移动设备的发送
广播:发送给订阅某一主题的全部移动设备
发送给指定用户的全部移动设备
TCP通道:路由消息到消息推送层指定节点
发送通知消息到APNS,GCM,ADM
保持平台和移动设备之间TCP连接
通过TCP连接发送通知消息到移动设备
存储消息保证可靠性推送
当用户移动设备不在线
消息发送失败,超时重传
用户ID ->移动设备ID
主题ID ->移动设备ID
支持多种发送模式(移动设备,用户,主题)
认证机制
消息标识ID (追踪消息发送的状态)
保持平台和移动设备之间TCP连接
分发通知到相应App
处理重复消息
注册和日志
第17页
大规模消息推送平台的特点
17
Yahoo Confidential & Proprietary
高可靠性 – Reliability
>99.9%的消息发送成功率。
每一层之间采用确认+超时重传机制保证消息传输的可靠性 。
高可扩展性 – Scalability
每天发送10亿条消息,峰值时每秒发送20万条,同时保持超过2500万移动设备的TCP连接。
每一层均可通过添加服务器水平扩展。
消息推送的及时性 – Real time
广播消息15秒内推送到一百万移动设备 – 重要新闻通知的推送。
平台平均端到端延迟小于1秒
第18页
Gemini – 移动搜索和原生广告
18
Yahoo Confidential & Proprietary
+
Yahoo 2014 Confidential & Proprietary.
18
+