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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 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,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
数据库
手把手教你云相册项目简易开发day4-上传下载业务逻辑之缩略图上传下载业务和审核业务(下)
手把手教你云相册项目简易开发day4-上传下载业务逻辑之缩略图上传下载业务和审核业务(下)
74 0
|
存储 消息中间件 Java
手把手教你云相册项目简易开发day4-上传下载业务逻辑之缩略图上传下载业务和审核业务(上)
手把手教你云相册项目简易开发day4-上传下载业务逻辑之缩略图上传下载业务和审核业务
120 0
|
6月前
|
存储 弹性计算 监控
建设云上稳定性问题之为什么要在云效平台创建发布流水线并将源代码编译环节替换为从OSS下载构建部署物
建设云上稳定性问题之为什么要在云效平台创建发布流水线并将源代码编译环节替换为从OSS下载构建部署物
|
8月前
|
运维 监控 Serverless
Serverless 应用引擎产品使用之在使用阿里云函数计算部署网站时,网站打开不稳定如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
674 1
|
8月前
|
弹性计算 安全 数据安全/隐私保护
一、基于Fortinet的出海业务访问加速方案--详细部署步骤
本方案基于CADT提供一个一键交付零配置的部署模板,帮助企业快速构建出海业务访问加速的环境。方案结合了Fortinet产品以及阿里云的ECS,BGP公网精品IP等产品,实现低成本的出海业务加速。
336 0
|
8月前
|
Serverless API 数据安全/隐私保护
Serverless 应用引擎产品使用之阿里函数计算中在本地搭建Windows开发环境与阿里云函数计算进行交互如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
8月前
|
监控 小程序 开发者
【3月开发者日回顾】“小程序加速审核能力”即将上线!
【3月开发者日回顾】“小程序加速审核能力”即将上线!
62 0
|
8月前
|
运维 搜索推荐 Devops
企业构建平台工程的路径与方案
探讨企业如何构建自己的平台工程。
103561 0
|
存储 消息中间件 Kafka
手把手教你云相册项目建议开发day3-上传下载业务逻辑之上传业务
手把手教你云相册项目建议开发day3-上传下载业务逻辑之上传业务
97 0
|
8月前
|
存储 缓存 网络协议
如何“多快好省”地使用阿里云产品实现数据下载加速
阿里云CDN下载加速解决方案旨在通过全球调度中心智能化地将客户端的下载请求精准调度到分布于全球的最优CDN边缘节点,同时依托海量带宽储备及强大的CDN控制逻辑让企业省心省力地为用户带来极速下载体验,助力企业获得更大的市场回报。
如何“多快好省”地使用阿里云产品实现数据下载加速