腾讯云:如何用云开发打造“万人同屏”高并发

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:腾讯云开发TCB网络

小提示:您能找到这篇{腾讯云:如何用云开发打造“万人同屏”高并发}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的腾讯云:如何用云开发打造“万人同屏”高并发内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">刚刚过去的六月,国内游戏迷们都刚刚体验过一场盛大的游戏发布会——2020腾讯游戏年度发布会,由于疫情的原因,今年的发布会在线上举行,不过,得益于小程序的丰富体验,本次发布会还是得到了游戏玩家们的认可。

< ">在发布会过程中,一个重要的环节就是跟随着活动的进展,每个环节都会有自己的定制互动。例如和平精英环节,会有和平精英专场掉落抽奖、和平精英闪现社区弹幕、议程也需要高亮和平精英模块,如下图:



< ">这就要求小程序能够让所有在观看直播的游戏玩家同时看到抽奖、宝盒等功能,实现实时交互。

< ">此外,也会有一些场景需要做到议程高亮同一个模块,抽奖和闪现社区弹幕却是不同游戏的。在对所有的功能点进行分析后,我们发现,最多需要90+开关来完成实时控制,因此,这也要求我们可以实时的对这些功能的展示进行控制。

< ">从小程序-&gt;微信后台-&gt;云开发(云函数)这一段公网链路是私有协议,不仅保障了安全性,而且提高了传输性能。

< ">在明确了诉求后,我们分析可能的实现方案:

< ">1.接口轮询:接口轮询是常规操作,但在后台需要考虑好高并发的问题的。特别是大型游戏发布会,参与的游戏玩家人数会非常多,给后台带来的压力是巨大的。

< ">2.json文件轮询——在发布系统更新发布包含当前环节信息的json,小程序轮询方式请求json文件。但这个方案页面反应不够及时,压力也从后台转移到了当天负责更新json文件的同学身上。

< ">3.云开发数据库的实时数据推送——小程序原生能力,开箱即用,无需管理长连,无需编写服务端代码,无需搭建和管理基础设施,自动收到更新推送。

< ">综合评估,认为还是使用云开发数据库的实时数据推送更好,简单易上手,也是小程序的原生能力。调研发现云开发的watch给到每个用户的最大限制连接数是5万,而我们预估活动当天的DAU超过南昌市网站开发限制,因此,联系了云开发的同事进行扩容,将限制提高,并进行了压测,确保不出问题。事实上在活动整个过程,甚至是峰值都毫无压力,轻松扛过用户请求。

< ">使用云开发数据库的实时数据推送让整个开发变得十分简单,只需要一个API——watch就足以完成所有的开发。小程序可以通过watch实时监听数据库变更,在收到包含更新内容的推送后,做出相应的实时响应。



< ">

< ">< font-size: 18px;">在具体的实现方面,也十分简单,可以参考我们的代码进行操作。

< ">我们将相关的监听代码进行了封装,方便在不同情况下调用。如果你有一些特定场景下才执行操作的逻辑,可以直接在watch的onChange回调中调用进行。

< ">并在合适的地方设置开始监听,在页面onshow的时候开始监听,onhide的时候关闭监听,这样既不浪费监听数,也能尽量避免计划外的操作导致watch断连后无法重新连接。

< ">通过这样的逻辑,我们实现了管理员在发布会环节开始才放开弹幕互动入口:

< ">议程有抽奖,才会出现抽奖入口,并且展示的是提供当前抽奖环节奖品的产品logo:

< ">主持人口播“查看Spark幸运鹅中奖结果吧!”的时候,会全屏弹窗展示中奖名单,充满仪式感!



< ">发布会或者线下项目必须要考虑周全,都是一次性短时间高并发活动,没有机会给你查漏补缺。所以我们还给watch想了个备案,监听失败(onError)的时候就用上面提到的第2个方案开始每秒轮询同步更天津舆情信息新的json文件,json里的数据和结构跟watch的一样,所以整体交互流程方面是不需要做额外修改的。结果也证明云开发数据库的watch是非常靠谱的,轮询都没有用上。

< ">

< ">作为承载腾讯游戏年度发布会首次线上举办、首次T医疗安全的危机公关OC、首次进行实时互动的小程序,它也算是良好的完成了自己的任务。

< ">特别要感谢腾讯云和小程序提供的好用、易用、靠谱的实时数据推送能力watch,让我们的创意能更好的落地

腾讯云:如何用云开发打造“万人同屏”高并发

上一篇:阿里云、腾讯云、七牛云CDN对比
下一篇:来看看怎么在APPstore中ASO


版权声明:以上主题为“腾讯云:如何用云开发打造“万人同屏”高并发"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    腾讯云:如何用云开发打造“万人同屏”高并发
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“腾讯云:如何用云开发打造“万人同屏”高并发”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通腾讯云:如何用云开发打造“万人同屏”高并发的相关事宜。

关键词:腾讯云:如何用云开发打

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号