更多云场景实践研究案例,点击这里:【云场景实践研究合集】联合不是简单的加法,而是无限的生态,谁会是下一个独角兽
九游,是阿里UC优视旗下的一项重要战略业务,目前九游平台月活跃用户超过6000万,已经上线数万款游戏,有上千个合作伙伴与九游联合运营。根据中国移动的网关数据显示,仅仅“九游”一个入口,就已经在国内的所有企业手机游戏发行平台中排名第二,仅次于腾讯游戏,行业占比12%,大大超过其他手机游戏平台。而在支持着如此大规模用户的活动的正是阿里云的服务器。本文将从技术方面,向大家展示阿里云是如何支持九游的运维的。
采用的阿里云的产品
- 阿里云云服务器 ECS
- 阿里云对象储存 OSS
- 阿里云用户自定义函数 UDF
为什么选择阿里云
在上云之前,九游在主要面临的问题主要是网络带宽的限制和存储成本过高。在拥抱阿里云服务后,通过阿里云为九游业务需求量身设计的OSS-UDF解决方案,目前已成功解决了带宽的限制并大大降低了数据储存的成本。
关于九游
九游,是阿里UC优视旗下的一项重要战略业务,九游依托于UC浏览器这一拥有超过4亿用户的全球最大的移动浏览器平台,利用用户资源优势和游戏平台相关技术优势,打造全国乃至全球领先的移动游戏开放平台。
上云前的困扰
九游在上云过程中面临的问题主要是网络带宽和存储成本。
1. 网络带宽
单台ECS 500M内网带宽
多台ECS扩容带宽,成本昂贵
OSS单用户流控
2. 存储成本
单个游戏包分不同渠道多副本存放
存储成本线性上升
OSS自身存储能力受到挑战
阿里云带来的独特OSS-UDF解决方案
企业现在采用的是OSS-UDF(User Defined Function)是OSS团队针对类似九游、对存储内容有轻量计算需求所提供的产品化解决方案。
UDF全称是用户自定义函数(User Defined Function),用户通过该函数(程序)可以对存储在OSS上的数据进行自定义处理。通过UDF,OSS可以为用户提供基于存储服务上的轻计算能力,用户数据不再是简单的存储在OSS上,而是可以根据自己的需求,对数据进行特殊的处理,比如解压、转码、图像处理等,从而大大方便了用户。
企业利用UDF改造渠道打包系统包括:1.以熟悉的编程语言开发好UDF程序,假设叫做BuildChannel,该程序需要监听9000端口,能够接收HTTP POST请求,内容是对一个原始的游戏包做渠道包打包操作(新型的渠道包打包基本是在原始渠道包文件后attatch一段渠道信息)。2.通过一个YAML格式的文件,用户配置OSS安装必要的依赖,最终BuildChannel要能直接运行于Ubuntu 14.04。3.注册BuildChannel,后续控制台会开放标准注册页面和API,当前阶段线下配置。4.客户端根据UDF协议调用。5.OSS接到调用,将UDF请求解析出来POST给UDF程序,处理完成后,OSS调用将直接返回打好渠道信息的安装包。
改造后的效果
九游使用该功能后,多台打包服务器可以逐渐降低到2台甚至更少(一些老的渠道打包无法用UDF实现);同时对于业务增长的预期可以通过OSS扩充UDF资源实现,相应性价比高很多。
更重要的,九游绝大部分数量的游戏包只用存储1份原始包、以及少量不能用UDF构建的渠道包,存储空间比起全部静态打包的方式,缩减到1/N,极好替用户节省了成本。从便捷程度来说,九游接入UDF花了2周不到时间,完成编码、调试、上线,接入相当简单快捷。
关于九游的更多实践详情:九游:通过OSS UDF提升交付能力及降低成本
原文发布日期:2017-02-27
云栖社区场景研究小组成员:郭思乔,仲浩。