游戏分发市场打包OSS-UDF改造方案

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
对象存储 OSS,20GB 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 原作者:高级阿里云解决方案架构师,远途。对于应用市场来说,怎样管理成千上万的渠道包,并最大限度的节省成本,采用OSS+UDF方案是一个不错的选择。

游戏渠道打包业务架构图

826e15f1c80bbf14fc644740ef42b8d5bdcec2b6

主要痛点

产品流量限制

ECS内网限流500M,打包集群用8台ECS、合计4Gbps的带宽峰值,在打包业务峰值时也不够处理,继续扩展ECS又会达到OSS的单用户吞吐量上限,业务进一步扩展遇到瓶颈。

存储成本

分发市场一般会对接上千个渠道,一款爆款游戏需要打上百个渠道包,所以存储量百倍提升,成本压力较大。

OSS-UDF方案

OSS-UDF((User Defined Function))是OSS团队针对存储内容有轻量计算需求所提供的产品化解决方案。
UDF程序是一个运行在OSS服务器端的用户自定义的处理程序,OSS在收到用户的UDF请求后,会转发给用户的UDF程序,对存储内容进行诸如解压、转码、图像处理等处理,并在处理完成后将结果返回给用户。
使用UDF,必须按照OSS的UDF协议来开发UDF程序、并将UDF程序托管到OSS;包括UDF程序的规范、托管方法、客户端调用规范。

利用UDF改造渠道打包系统

1 以熟悉的编程语言开发好UDF程序,假设叫做BuildChannel,该程序需要监听9000端口,能够接收HTTP POST请求,内容是对一个原始的游戏包做渠道包打包操作(新型的渠道包打包基本是在原始渠道包文件后attatch一段渠道信息)
2 通过一个YAML格式的文件,用户配置OSS安装必要的依赖,最终BuildChannel要能直接运行于Ubuntu 14.04。
3 注册BuildChannel,后续控制台会开放标准注册页面和API,当前阶段线下配置;
4 客户端根据UDF协议调用,获取渠道YYY包的调用形式如下(其中jsonParaYYY是json组装的YYY渠道包必要信息): 
GET http://bucketName.oss-cn-hangzhou.aliyuncs.com/game.apk?x-oss-process=udf/BuildChannel,jsonParaYYY
5 OSS接到调用,将UDF请求解析出来POST给UDF程序,处理完成后,OSS调用将直接返回打好渠道信息的安装包

改造方案解析

UDF只适合对单体资源对象做简单处理的场景,因为UDF的调用时间包含在OSS调用的返回时间内,如果需要较长时间(涉及复杂计算场景、批量资源)的调用不合适使用UDF。
绝大部分数量的游戏包只用存储1份原始包、以及少量不能用UDF构建的渠道包,存储空间比起全部静态打包的方式,缩减到1/N,极好替用户节省了成本。可以有效减少打包服务器ECS数量。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
3月前
|
存储 安全 API
利用对象存储(OSS)实现内容分发加速 :高效可靠的解决跨境下载延迟问题
利用对象存储(OSS)实现内容分发加速 :高效可靠的解决跨境下载延迟问题
85 2
|
28天前
|
运维 监控 Android开发
应用研发平台EMAS产品常见问题之用Aliyun-ThirdPush插件传自定义参数失败如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
3月前
|
监控 网络协议 Java
Serverless应用引擎部署问题之上传变慢如何解决
Serverless部署是指将应用程序部署到无服务器架构中,该架构允许开发者专注于代码而无需关心底层服务器的运行和维护;针对Serverless部署过程中可能遇到的挑战,本合集提供全面的指南和最佳实践,帮助开发者顺利实现应用的无服务器化部署。
EMQ
|
NoSQL Serverless Linux
Serverless MQTT 服务即将正式上线、新增 2 个平台安装包
EMQX Cloud Serverless 正式版已于四月初正式上线。该版本通过多租户技术和按量计费的模式,为用户提供了极速的部署创建和有效的成本控制。
EMQ
208 0
Serverless MQTT 服务即将正式上线、新增 2 个平台安装包
|
存储 分布式计算 搜索推荐
U-App移动统计算力升级!支持跨应用、多事件的打包计算
近日,友盟+U-APP移动统计产品算力升级,正式推出汇总分析功能。借助于友盟+百万级/秒的数据服务能力,开发者可快速汇总、比较多个APP应用的数据,提升精细化运营的能力。
U-App移动统计算力升级!支持跨应用、多事件的打包计算
|
小程序 关系型数据库 MySQL
一套满足企业自建OpenAPI、接口平台的解决方案、产品和源代码
企业自建接口平台的好处。 在现代软件系统项目开发中,API接口是不可或缺的组成部分。 不管是内部系统之间的接口调用和提供,还是外部API接口的对接和开发,搭建企业自己统一的接口平台,对API接口的开发、管理和维护,都会大有裨益。
|
数据采集 SQL 运维
Dataphin V2.9.5.3版本发布,进行语法拓展、进一步打通企业邮箱系统、支持海量节点一键补数
2021年10月,Dataphin发布V2.9.5.3版本,重点在数据集成、语法拓展、批量运维、告警渠道等模块进行了优化升级:
Dataphin V2.9.5.3版本发布,进行语法拓展、进一步打通企业邮箱系统、支持海量节点一键补数
|
存储 大数据 对象存储
OSS 全球化部署,轻松解决素材入库与自动处理难题
OSS 全球化部署,轻松解决素材入库与自动处理难题
380 0
OSS 全球化部署,轻松解决素材入库与自动处理难题
|
传感器 前端开发 物联网
IoT 存量设备 零改造,泛化SDK实现整体业务迁移上云
设备从电信AEP,移动OneNET,自建MQTT,华为IoT,腾讯IoT迁移到阿里云IoT方案
4453 0
IoT 存量设备 零改造,泛化SDK实现整体业务迁移上云
|
SQL 存储 分布式计算
重磅:阿里云 JindoFS SDK 全面开放使用,OSS 文件各项操作性能得到大幅提升
本文主要介绍如何使用JindoFS SDK来访问OSS对象存储,以及使用它来提升我们操作OSS文件的性能。值得一提的是,此前JindoFS SDK 仅限于E-MapReduce产品内部使用,此次全方位面向整个阿里云OSS用户放开,并提供官方维护和支持技术,欢迎广大用户集成和使用。
重磅:阿里云 JindoFS SDK 全面开放使用,OSS 文件各项操作性能得到大幅提升