Serverless 极致弹性解构在线游戏行业痛点,你有过迷茫吗
如上图,当客户把战斗结算迁移到函数计算上后,明显可以看到, 即使 TPS 在日常峰谷呈 90° 直线上升,但是 Latency 延时仍然基本稳定在 200~300 毫秒之间,,充分保证了用户的玩家体验。
在这个场景中,函数计算的核心价值是:
弹性高可用:百毫秒级伸缩扩容,无需预留任何资源。
CI/CD 和版本灰度能力:每当游戏策划有新想法时,战斗结算函数必然会更新,可以通过直接给这个函数设置版本和别名,从而非常安全地灰度到下一个版本的战斗结算函数。
这是游戏场景里非常经典的例子,将 CPU 密集型的逻辑抽离出来放到函数计算上,在不影响 Game server 的服务器的同时,又具备了百毫秒伸缩扩容的能力,保证了玩家用户体验。
[](
)2. Serverless 实现超大规模游戏营销
游戏厂商与广告商联合投放大量互联网广告,该业务场景无法准确预估运营流量,高并发、高弹性的后台服务对业务结果至关重要。且大量的营销数据和原始日志需要进行离线分析,驱动运营策略升级。
游戏厂商的需求是:第一,游戏需要大规模营销,波峰波谷无法预估;第二,游戏需要快速上线,对开发效率要求较高。
解决方案如上图,将函数埋点到网页里面,点击时自动触发这个函数,函数再把点击传过来的用户消息持久化到 kafka。这一步函数 TPS 非常高,预估是几万或者十万级别。第二步,通过 kafka connector 把消息持久化以后,connector 可以有 batch 操作,比如把 50 次点击的数据 batch 成 1 个再发给另外一个函数,相当于后面的这个函数变成了 1/50 的调用量,另外这个函数是异步触发,加上 batch 操作,起到削峰填谷的作用,因为只需要把消息写入到数据库就可以完成任务,只要不丢数据就好。同时这个函数打印的日志也可以用 SLS 进行分析或者写入数据库 RDS/ADP 进行玩家画像的分析。
客户压测数据如下图所示,第一个函数 TPS 上升到十几万,第二个削峰填谷后变成不到 3 万。
在这个场景中,函数计算的核心价值是:
事件驱动,解耦架构难点;
弹性高可用,削峰填谷;
快速开发上线,1 天完成开发和压测。
[](
)3. Serverless 实现安卓游戏 APK 包按渠道分发
UC 的游戏分发平台的游戏 APK 包需要根据实时请求中的参数获取渠道号,并将渠道号写入 APK 文件固定位置, UC 有每天有大量的且不同渠道的下载请求,能实时让用户断点下载指定渠道的 APK 游戏包。
以阿里内部 UC 游戏分发平台为例,在对象存储里面放了一个原始包,其他包在文件固定位置加一些东西就可以。但是 UC 渠道每天有不同的下载请求,通过 Channel=UC/小米/华为到 CDN,CDN 直接回源到函数计算, 比如在函数计算看到回源是小米,从 OSS 拿到原始包把小米渠道信息写进去,再把这个包直接返还给 CDN, 其他渠道包同理, 只要被下载过一次,都被缓存到 CDN。
这个案例中,函数计算的核心价值是:
CDN 直接回源到弹性高可用的函数计算服务(FC);
降低成本,按需付费。客户不需要为峰值预留计算资源,流量单价降价 40%。
[](
)4. Serverless 实现快速多渠道游戏打包
在发行游戏之前,通常会针对不同的发行渠道,将游戏母包和不同的渠道资料包构建成渠道包。在这个构建过程中,如果使用手工方式,存在易出错、效率低、高成本的痛点。
**效率低:**针对不同的渠道去打包,传统的做法是固定买几台打包机,打包机可能大部分时间浪费,每周就打几次;
**高成本:**渠道越接越多,打包机只有几台,想查看渠道包情况,可能需要打一晚上第二天才能看到。随着渠道越增越多,打包机也需要不断增加,闲置成本也越来越高;
**易出错:**如何给打包机分配任务,调度系统需要自己开发,如果打包机出现了异常,需要自己去解决打包机的问题。
这个场景下,引入 Serverless 工作流,如下图所示:
工作流定义:第一步,把母包从 OSS 上下载下来;第二步,并行去打包这些包,每个渠道包有一个并行的任务;第三步,打包完以后,进行后处理。
在这个场景下,函数计算的核心价值是:
任务自动化:事件一键触发、自动运行,工作流完整跟踪记录整个打包流程,提高打包成功率;
打包并行化:多个渠道包构建过程并行,提高打包效率,同时支持配置模板化;
低成本: 按量付费,计算资源利用率高。
[](
)5. Serverless 实现游戏服务快速全球部署
阿里云作为国内第一家与 Terraform 集成的云厂商,生态支持较完整(Serverless 重度依赖云服务,中国支持较完整)。由于游戏不可能使用很多其他的云服务,而使用 Terraform 可以实现快速多云部署。
[](
)6. 实践案例总结
CPU 密集接口
战斗结算;
社交类游戏中,游戏内截图、游戏直播视频在线截图、离线转码等;
聊天敏感词检测过滤,聊天翻译;
排行榜等。
游戏活动运营
激活码生成、消耗等一些封测运营活动;
游戏打包发行、广告买量、活动页、运营平台等业务平台。
用户基本业务数据处理
[](
)三、阿里云函数计算现状
================================================================================
[](
)1. 函数计算是国内企业 Serverless 架构落地、业务创新的首选产品
2020 年中国云原生用户调查报告,阿里云 Serverless 用户占比是 66%。CNCF 2019 年中国云原生报告中显示,函数计算是国内企业 Serverless 架构落地和业务创新的首选产品。
[](
)2. 阿里云函数计算产品全景
函数计算是国内生态最完整、功能最丰富的 Serverless 产品,开发者一步上云、一键 Serverless 化将成为现实。
图:阿里云函数计算产品全景
系统层面:支持了各种语言,开发者可以选一个自己最喜欢的语言,同时也支持了容器镜像,拥抱容器生态;
实例类型:默认选择百毫秒弹性实例,也可以选择性能实例(比如强 CPU 密集型的音视频转码);
触发层:可以 API Gateway 或者 SDK 直接触发,也可以用 Kafka、OSS、CDN 等事件源触发;
工具层:有全新的 Serverless-Tool、Fun、开发者框架等等;
可观测性:包括日志、监控、 Metrics、告警、Tracing 等;
应用中心:有非常好的落地案例,可以快速体验经典案例。
总结
其他的内容都可以按照路线图里面整理出来的知识点逐一去熟悉,学习,消化,不建议你去看书学习,最好是多看一些视频,把不懂地方反复看,学习了一节视频内容第二天一定要去复习,并总结成思维导图,形成树状知识网络结构,方便日后复习。
这里还有一份很不错的《Java基础核心总结笔记》,特意跟大家分享出来
**[CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】](
)**
目录:
部分内容截图:
。
这里还有一份很不错的《Java基础核心总结笔记》,特意跟大家分享出来
**[CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】](
)**
目录:
[外链图片转存中…(img-M5Ermwg5-1631180406884)]
部分内容截图:
[外链图片转存中…(img-FboPmMrI-1631180406886)]
[外链图片转存中…(img-ZZzFpj28-1631180406887)]
Serverless 极致弹性解构在线游戏行业痛点,你有过迷茫吗相关推荐
- 亚马逊云科技依托人工智能进行游戏数据分析,解决游戏行业痛点,助力游戏增长
前言 据互联网数据显示:2014 年我国游戏行业用户规模为 517.31 百万人,直至 2020 年达 554.79 百万人:同时,2020 年,我国游戏市场实际销售收入 2786.87 亿元,比 2 ...
- K12在线教育行业痛点及三大破局方法
随着互联网的不断发展,各种行业相继开展了线上模式,教育行业也不例外,并且由于疫情的冲击,加速了在线教育行业的发展,这两年在线教育一直处于上升阶段. 2020年的疫情"黑天鹅"事件推 ...
- 金融壹账通京交会发布区块链白皮书 详解如何成功解决行业痛点
2019独角兽企业重金招聘Python工程师标准>>> "在大家还在说区块链是什么的时候,我们已经开始说它怎么用了",5月31日,在2019京交会 "中 ...
- 游戏行业如何上云?阿里云架构师解读四大主流游戏架构
游戏行业是阿里云最早聚焦的行业之一,近年来游戏行业的变化.云计算产品技术的变化都与日俱进.随着行业业务的变化.技术架构的演进以及阿里云产品的迭代演进,整体的产品技术选型在不同的游戏场景.业务场景也不尽 ...
- 爱奇艺体验Serverless极致扩缩容,资源利用率提升40%
简介:Serverless 应用引擎 SAE 是面向应用的 Serverless PaaS平台,提供了效率更高.成本更优的一站式应用托管方案.零门槛+零改造+零容器基础,即享Serverless+K8 ...
- 爱奇艺体育:体验Serverless极致扩缩容,资源利用率提升40%
简介: Serverless 应用引擎 SAE 是面向应用的 Serverless PaaS平台,提供了效率更高.成本更优的一站式应用托管方案.零门槛+零改造+零容器基础,即享Serverless+K ...
- 5个层面解构游戏的设计标准
来自:http://www.cocoachina.com/game/20151116/14212.html 如有侵犯,请来信oiken@qq.com 制作出一款非常成功的游戏只是因为运气?或者因为你使 ...
- 在线客服系统解决方案:游戏行业
Live800来啦:游戏行业需要怎样的在线客服系统?游戏行业在线客服系统需要解决哪些痛点?这些是很多企业关心的问题,我们为游戏企业带来游戏行业在线客服系统解决方案. 在正式讲解决方案之前,先对游戏行业 ...
- 云风skynet-如何用skynet手撕万人同时在线游戏丨actor模型详解
如何用skynet手撕万人同时在线游戏 1. 多核并发编程 2. actor模型详解 3. 游戏实现 视频讲解如下,点击观看: 云风skynet-如何用skynet手撕万人同时在线游戏丨actor模型 ...
最新文章
- SAP MM 明明有需求,为啥MRP RUN后没有PR单据产生?
- matlab从入门到精通:图像可视化基础操作
- Postfix邮件队列查看方法
- C++之智能指针std::shared_ptr简单使用和理解
- 基于 opencv 的图像处理入门教程
- linux 重启oracle实例_Oracle实战(二)-Oracle概述
- 艾为数字ic面试题_秋招 应聘FPGA/数字IC笔试面试经验分享(简单列举FPGA/数字IC公司)...
- Chrome网页性能分析工具
- Windows下【AxureRP】原型设计工具破解码与安装包
- mapboxgl绘制3D线教程
- shader 学习之 pass 块
- 产品造型设计上的加减法的运用
- 大学计算机基础知识电子版,大学计算机基础考试知识点(完整版).pdf
- 连接MySQL错误:Can#39;t connect to MySQL server (10060)
- Python 自动化教程(2) : Excel自动化:使用pandas库
- Cisco NSF 与NSR 与GR
- 《C++游戏编程入门(第4版)》——1.10 问与答
- Spring Boot整合Freemarker
- ERROR: Model Parsing the xml failed
- Chrome 浏览器 强制清空缓存
热门文章
- 2020移动apn接入点哪个快_手机WiFi网速度太慢?教你一招网速翻倍好用,比5G还快...
- 大数据在高校的应用场景_大数据在高校教育信息化的应用
- Asp.net 路由详解
- 数据库中第一范式、第二范式、第三范式
- 关于线程 thread (1)概念简介
- IDEA中一直indexing问题
- 百度网盘超级会员,年卡低至198元!百度官方直充,会员实时生效!
- Computer vision: models, learning and inference 学习笔记1:引言
- 公司财务系统html,什么是sap管理系统?
- 通过Excel表格批量生成汉信码