小游戏如何应对大流量?Shopee Shake的大促实践

本文介绍了Shopee Shake小游戏如何应对大促期间的高并发流量,包括游戏机制、技术方案、容量规划、立体监控、故障演练等方面。通过水平扩容、缓存和异步处理等技术,保证了系统的可用性和稳定性。
摘要由CSDN通过智能技术生成

本文首发于微信公众号 “Shopee 技术团队”。

背景

Shopee 每年都会举办几场重要的大促活动。大促过程中,营销小游戏是吸引流量的主要渠道。


本文将介绍大促中最常使用,同时在线人数最多的游戏——Shopee Shake——如何应对大促的大流量冲击,保证系统的可用性,为用户提供稳定可靠的服务。

1. 游戏与大促

每年 Shopee 会在五至十二月的每个大促节点举行电视直播活动。每次大促活动时,各市场的运营人员会与当地电视台合作,在节目直播过程中插入一段玩 Shopee 小游戏的互动环节。

1.1 大促游戏的选择

在大促筹备阶段,当地运营人员会根据大促时间表,在游戏管理平台设置游戏活动的开始时间、结束时间、奖池及页面素材。待大促进行时,电视台主持人将引导用户打开 Shopee APP 并进入小游戏页面。

当地运营人员会根据大促计划,从多款小游戏中选择几款参与到电视直播大促当中,而 Shopee Shake 是被使用次数最多的大促小游戏,几乎每次大促活动都会出现它的身影。通过这款游戏,当地运营人员可以发放 Shopee 金币,吸引用户在 Shopee 下单购买商品。

每次大促时,Shopee Shake 都会带来大量用户流量。2021 年 5.5 大促时,该游戏接口最高 QPS 达到 30 万+,在大促过程中发挥了重要的引流作用。

1.2 Shopee Shake

Shopee Shake 是用户通过在游戏页面摇动手机,获得 Shopee 金币的类似摇一摇的小游戏。用户摇动次数越多,得到金币的概率越大。下图展示了三个不同阶段的游戏页面:

在这里插入图片描述

最左侧是游戏预热阶段的页面。游戏开始前,用户进入这个页面后,可以看到金币池的大小和游戏开始的倒计时,也可以将页面通过第三方或发送消息的方式分享给好友,获得额外金币奖励。

中间是游戏过程页面。游戏过程中,该页面会不停掉落金币。用户需要在有限的时间内摇动手机。摇动速度越快,得到金币的概率就越大。

最右边是游戏结果页面。用户在当局游戏获得的金币数量会显示在这一页面。另外,由于每一局游戏会消耗一次机会,剩余游戏机会在此页面也有直观呈现,若用户还有机会,可以直接点击按钮,继续进行游戏。有时,当地运营人员还会配置一些抽奖机会,如果用户抽中了某项奖品,同样会在这个页面显示。

2. 技术方案

从游戏机制来看,Shopee Shake 的后端系统面临以下几项挑战:

  • 瞬时并发量大:由于游戏开始时间是全局统一,所有用户都会在同一时间进入游戏,导致在短时间内产生大量请求。因此,后端系统需要在短时间内承载大量请求。
  • 游戏时间短:整场游戏环节一般持续 5 分钟,每局游戏通常在 10 秒到 30 秒之间。
  • 并发扣减金币池:所有用户共享同一个游戏奖池,每一局游戏结束后都要并发扣减游戏奖池,后端系统容易因此出现单点问题,从而影响到系统性能。

因此,我们的技术方案需要支持高并发请求,支持水平扩容,并解决潜在的奖池单点问题。-

2.1 架构设计

在这里插入图片描述

从产品特点来看,Shopee Shake 系统主要提供两大功能,分别是供当地运营人员进行大促活动配置,以及供 Shopee 终端用户玩游戏获得金币。

相应地,系统也分成两端,即 Admin 管理端和用户端,分别面向当地运营人员和 Shopee 终端用户。

在大促前,当地运营人员会通过 Admin 端进行游戏相关配置。活动进行时,用户通过 Shopee 终端访问游戏页面,请求后端。其中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值