MQTT在游戏运营发行中的实践

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 在游戏发布运营平台中,使用阿里云微消息队列MQTT产品可以满足运营平台与游戏客户端间的数据推送服务场景,即既保证了百万级连接,又实现了资源占用少,也能做到各种复杂的消息数据发布订阅管控。

前言

在游戏生态中,主要包含游戏的研发方以及运营发行方。一款游戏的运行,分为研发和运营两个阶段。研发的主体有个人、独立工作室、游戏研发公司等;

游戏的研发主体专注于游戏内容的研发,对游戏的发行及运营往往在人力、财力上投入不足,促使游戏发行及运营业务应运而生,产生了独立的运营发行方。目前市场上很多大型游戏厂商将自己的发行及运营能力打包给运营发行方。另外还有一些游戏的分发渠道方,依托于自己的流量优势,也提供仅针对本渠道的联合运营服务。
image.png
上图中有关的交互的部分:

l 游戏本身的操控交互是在游戏客户端与游戏服务端间进行的,大部分会采用Socket长链接的方式进行通信。
l 游戏客户端与游戏发行方平台的交互,包括登录,支付等等,这些由游戏玩家主动请求的会采用http的方式进行链接通信。

这两部分的交互选型相对固定。
但在运营发行方中关于运营消息以及广告推送等场景,例如各类服务器运维升级等跑马灯信息;账号踢下线信息;悬浮窗广告;普通消息推送等等服务更多是由游戏的运营发行方主动推送的。在百万级游戏客户的情况下,如何选择更适合的交互方式是一件头痛的事情。

我们在本章中探讨如何更好地选择运营发行消息的技术实现。

运营发行方推送的特点与要求

1.触达用户多:一款成功的游戏总客户数经常超百万千万。同时在线数高。
2.消息的时效性不同:有些消息是在某时间段内都生效的(例如主游戏服运维升级通知),无论客户当前的状态是否在线,如果当前客户在线那么就立刻收到,离线的客户在下次进入游戏时也会收到相应的消息。有些消息是对于当前在线的客户(例如账号踢下线信息)才有意义。
3.精准的群发性诉求:推送的消息都是对于具有某类特征的客户群体进行广播(例如不同的广告对应不同等级的游戏玩家)
4.连接的轻量级消耗:这类数据的交互对比游戏本身操控来说,频率较低,所以游戏客户端与广告运营等数据推送的流量占用的客户端运行资源尽可能的少。
5. SDK依赖资源简洁:在游戏领域里,由研发团队会产生游戏母包,而运营发行方会在母包的基础上嵌入运营所需要的SDK包,例如支付功能, 数据推送功能;那么对于推送功能本身所依赖的资源包就越小越好了。

备选的技术方案分析

1. http轮询方案:
优点:
游戏客户端依赖最少,实现方便。
缺点:
无效轮询占比高:多个客户端,多种类的轮询多,鉴于本类消息的频率不高,那么绝大部分轮询都是没有实际业务意义的。
运营端实现复杂:需要使用额外的代码逻辑专门维护已读取状态。
资源占用高:周边配套的调用链,日志信息,并发处理能力这些推高了资源占用情况。

2. Socket方案:
优点:
游戏客户端依赖比较少,实现方便。
缺点:
连接维护:运营方会有不同种类型的应用划分(例如广告可能是单独的应用,系统管理也会是另一单独的应用),如果都需要推送,那么就必须有不同的socket连接到不同类型的应用;这样游戏客户端的连接就会增多,从而占用比较多的资源。
运营端实现复杂:需要使用额外的代码逻辑专门维护订阅推送类型,在推送过程中需要代码实现过滤,精准投递到目标群体; 为了保证推送的质量(到达与否),需要额外记录推送状态;对于推送数据的时效需要额外的控制,有些过期的消息(例如服务运维时间通知)。

3. KAFKA方案:
优点:
接入简单:成熟的消息中间件,支持各种实现语言。只需要对接Kafka 节点本身,不需要直接与发行方的应用进行连接,天然解藕。
功能强大: 推送数据的状态维护,存储等都可以借用Kafka的来提供。
缺点:
客户端连接数支持不足,无法通过简单的集群来支持数量众多的游戏玩家(客户端)。

4. MQTT方案:
优点:
接入简单,MQTT的协议非常简洁,支持各种实现语言。
支持各种订阅关系。
支持p2p消息。
支持各种消息触达的QoS质量。
可观测客户端的连接情况。
支持百万级的连接。
缺点:
MQTT技术当前阶段不如其它方案大众。

MQTT技术方案

通过对比,上面的三种方案, MQTT方案是非常符合作为游戏的运营发行方与游戏客户端进行推送数据的交互场景。那么我们来看看这个技术的设计原则。

1、轻量级与高效的微消息,MQTT协议精简,消息头特别简单;
2、基于发布/订阅(Pub/Sub)通讯模式,可以进行双向通信;
3、支持topic进行消息存储落盘;
4、支持订阅关系设定;支持p2p的模式与广播模式;
5、支持百万级别的连接设备;
6、提供消息服务质量管理;
7、适用于低带宽、高延迟、不稳定的网络;
image.png
这里,我们比较一下阿里云的产品微消息队列MQTT与开源MQTT。
image.png

结语

在游戏发布运营平台中,使用阿里云微消息队列MQTT产品可以满足运营平台与游戏客户端间的数据推送服务场景,即既保证了百万级连接,又实现了资源占用少,也能做到各种复杂的消息数据发布订阅管控。
image.png

【更多精彩】

1.中间件爆款一折起,还有阿里巴巴十年最佳实践深度解密,点击马上了解https://www.aliyun.com/activity/daily/commercial?spm=5176.20960838.0.0.6a54305etoEn4D

2.【填问卷领淘公仔】点击马上填写问卷:
https://survey.aliyun.com/apps/zhiliao/YmW95Gk8bU

【加入行业实战交流钉钉群】

阿里云专门成立了“互联网架构升级实战课”钉钉群,每周邀请一位阿里云专家在群内进行行业最佳实践直播,每天分享行业前沿干货,钉钉扫码马上加入。
image.png

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
2月前
|
运维 监控 开发工具
应用研发平台EMAS产品常见问题之华为手机没收到通知如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
3月前
|
IDE 小程序 API
【社区每周】支付类产品支持“商户联防风险”能力;IDE/基础库版本更新(12月第一期)
【社区每周】支付类产品支持“商户联防风险”能力;IDE/基础库版本更新(12月第一期)
30 0
|
9月前
|
移动开发 自然语言处理 安全
搭建开发拍卖直播平台源码优势,分享商用可运营源码
如今,在互联网时代,拍卖直播平台已经成为电商领域的热门趋势。为了满足有意进入这一领域的企业,东莞梦幻网络科技推出了他们的“拍卖直播系统”成品源码解决方案。
体育赛事直播系统源码搭建平台四种用户获利方式
通过“东莞梦幻网络科技”体育直播源码搭建的赛事直播平台,有哪些功能帮助打造出完整的社群环境来吸引许多优质创作者,不仅让创作者能够获利,也让自家平台的素材内容多元且丰富,吸引更多用户和创作者,形成一个良好的正循环。
|
10月前
游戏直播软件源码开发搭建,平台获利方法有哪些?
在互联网新时代,随着直播技术成熟,泛娱乐产业备受市场追捧,当中娱乐游戏直播平台在这一行业中处于核心关注热点。即使由于短视频的兴起,其增长速度显著下降,但是其吸金实力始终不可小嘘。
|
11月前
|
移动开发 JavaScript Java
游戏直播平台运营建议,开发类似虎牙+斗鱼平台最省钱方案
游戏直播平台作为近年来迅猛发展的行业,在全球范围内成为大部分人主要娱乐渠道。然而,随着竞争的加剧,传统的运营模式已经显露出瓶颈。为了在激烈的市场竞争中脱颖而出,游戏直播平台需要不断创新,拥抱新思路。本文将探讨一些新思维,如何引领游戏直播平台运营的新模式,以及如果要开发类似虎牙+斗鱼游戏直播平台最省钱方法。
|
5G 视频直播 开发工具
一对一视频聊天app开发的优势是什么,如何才能把平台做好?
近年来一对一视频聊天APP近年来格外受欢迎,它是基于一对多直播系统的延伸,一对一直播源码技术更在一系列的碰撞中迅速发展着,迎合了市场新需求,为了增加用户体验,一对一视频聊天APP开发的优势也十分明显,具体分为以下的四个方面。
一对一视频聊天app开发的优势是什么,如何才能把平台做好?
|
运维 Dart 安全
阿里云携手Ubitus发布云游戏解决方案,支持世嘉等游戏公司
9月26日,2019杭州云栖大会,阿里云携手技术合作伙伴Ubitus正式发布阿里云商业化云游戏解决方案,支持世嘉等游戏公司。
4172 0
|
运维 测试技术 文件存储
【阿里云新品发布·周刊】第21期:小程序一云多端解决方案,助开发者实现一云多端的业务战略
点击订阅新品发布会! 新产品、新版本、新技术、新功能、价格调整,评论在下方,下期更新!关注更多内容,了解更多 最新发布 小程序一云多端解决方案 2019年8月14日15时,小程序一云多端解决方案分享会正式开启。
2767 0
【阿里云新品发布·周刊】第21期:小程序一云多端解决方案,助开发者实现一云多端的业务战略

相关产品

  • 云消息队列 MQ