8月12日,Velocity China 2014 Web运维大会在北京举行。8月12日下午,负责雅虎移动产品平台开发的技术总监朱凌先生发表题为《雅虎移动平台简介》的演讲。在探讨Web性能与IT运维时,后端技术也是其中重要的组成部分,朱凌先生的演讲议题也正是围绕雅虎在后端技术方面的创新。
雅虎北京全球研发中心技术总监朱凌
在大会茶歇时,记者采访到朱凌先生,了解到他曾经在CSDN工作过。朱凌,毕业于清华大学,硕士,10多年软件和互联网开发及技术管理经验,曾就职于 Zynga/微软/搜狐等互联网软件公司,现供职雅虎北京全球研发中心技术总监,负责雅虎移动产品平台开发。
访谈开始时,朱凌首先分享了目前移动平台在雅虎研究中心的地位,他表示雅虎北京全球研发中心主要从事移动平台和应用方面的相关研发工作,经过多年发展,现已成为公司内最大的团队之一。目前雅虎全有有8亿用户,其中4.3亿用户在移动设备上使用雅虎的产品和服务,雅虎一直在加大对移动产品的投入。雅虎北京移动平台团队,专为雅虎移动开发人员打造平台和服务,以便移动开发者专注于移动应用本身,而且开发者通过这些平台,在用户不同的设备上(iOS/Android智能手机、平板电脑、台式电脑等),可以提供给用户一致的卓越体验。
为了实现这一目标,同时也为给移动开发人员提供更方便的平台和工具,雅虎提供了一系列的移动平台产品,包括:精准识别用户设备服务、简单方便的key-value数据存储平台、个性化的通知推送平台、高性能的图片压缩平台等。接下来他详细和我们介绍了各个产品的特点:
精准识别用户设备的服务
用户拥有越来越多的设备,并同时使用这些设备
2013年平均每个用户有超过2.9台设备,到2017年可能超过5台
为了提供更好的体验(或更精准的广告),需要精准的识别用户的设备针对特定屏幕尺寸的设备优化例如:仅针对iPhone/iPad用户推送的广告分析不同设备用户的增长趋势,平均消费能
Yahoo的设备识别服务包含了超过2万4千种设备,对Yahoo的网页访问覆盖率达到99.7%以上。通过对Yahoo每天网页访问的日志进行分析,提取出不能识别的请求,进一步改进覆盖率通过对频繁访问的设备UA进行缓存,提高性能。平均识别时间在0.2毫秒以下,性能损耗极低缓存数据在30兆以下,便于开发者安装包
简单易用的key-value数据存储平台
仅需提供appid,即可随时注册,随时使用使用Yahoo标准验证方式(YT cookie) ,用户可 接存取自己的数据对每个appid中key的数量没有限制,每个value的小控制在100k以内提供批量存取API (batch mode),提升性能在各个数据中心间有同步机制,保证数据安全可靠
个性化的消息推送平台
高可靠性、高扩展性,每天发送10亿消息,每秒最高发送20万消息,超 过2500万移动设备同时在线 系统分为后台API层、消息推送层、连接层。消息推送层采用Hbase保证消息可靠的推送 单机可以维持20万连接
灵活使用多种推送渠道: GCM/APNS/TCP/HTTP, 多终端: iOS/Android/Web 可以通过GCM、APNS发送消息到iOS/Android移动设备 也可以通过连接层的tcp socket发送流数据到用户终端 或者使用基于Comet技术(HTTP) 推送数据到用户浏览器
定时发送,定向发送到某台设备某个应用根据用户感兴趣的事件,如股票上涨了5%,发送消息在不同应用间去除重复消息在某个时间才显示给用户
根据用户的行为进行个性化发送用户对特定类别消息点击率用户最可能点击的时间由这些数据,对用户行为分析建模GBDT(gradient boosting decision tree),并智能调整消息发送
高性能的图片压缩服务
网站和应用越来越多依赖于图片,用户会在不同的设备上浏览图片有效的减小图片的尺寸可以大幅提高用户加载速度,同时降低网站的流量带宽费用,提高手机续航能力Yahoo的图片流量超过15G每秒
尝试使用GPU加速来提升图片压缩服务的性能30毫秒左右可以将2048*2048大小的jpg图片压缩为1024*1024的jpg图片,使用CPU则需要约80多毫秒CUDA是我们在探索使用的主要技术
在谈到目前移动面临的困难时,朱凌讲到,主要困难其实还是人才的问题。同时朱凌表示雅虎北京研究中心还是会加大校招力度,自主的培养一些相关人才。而且雅虎北京全球研发中心一直致力于促成“三赢”的发展愿景:首先,雅虎北京全球研发中心为员工创造从事公司全球核心项目的机会以及宽松的工作环境,同时积极与本土科研机构和技术社区合作,让人才“赢”;其次,雅虎北京全球研发中心在中国智慧的助力之下,令雅虎公司“赢”;最后,通过把世界级的核心项目带到中国来,提高国家的创新实力,让中国“赢”。
雅虎北京全球研发中心成立于2009年6月,是由美国雅虎公司全权负责运营的研发机构。作为雅虎全球创新引擎,雅虎北京全球研发中心不仅致力于为雅虎公司的全球业务提供面向未来的创新技术、一流产品和卓越的开发平台,同时也在为推动整个互联网行业及相关领域的发展贡献力量。