云游戏 排队功能

这篇说说云游戏用户排队系统的设计,核心是队列不能堵塞,需要按GroupId、GameId及VIP等级建立独立队列,支持插入队尾/队头、退出队列及超时踢出操作。 队列管理:需为相同GroupId、GameId建立独立队列,支持插入队尾、队头和退出。 超时处理:检测队头请求超时则踢出,避免堵塞。 用户交互:用户定期请求获取排名或锁定机器状态。

相关产品
云游戏 产品页,含版本规格、价格与购买入口。

一、使用场景

当云游戏的用户量大于机器并发数量时,需要引入用户排队系统,来提升用户体验。

二、关键点

队列不能堵塞。

三、参考方案

·业务后台需要建立多个队列,相同 GroupId、GameId 的单独一个队列,如果有 VIP 区分的,也要单独一个队列。用户请求时,需要找到相应的队列进行处理。

·队列需要支持插入队尾、插入队头和退出队列等操作。

·用户进入排队后,需要每隔一段时间请求业务后台,来获取当前排名或锁定机器成功进入到下一步。

·业务后台需要定时或每次用户请求时检测队头,如果队头的上次请求时间距离现在已超过一定时间,就认为超时,需要踢出队列,避免堵塞。

·提供用户主动退出排队的接口。

为了便于下面流程描述,假设用户响应包括以下字段(以下仅为举例,业务方可自行定义这些字段):

参数名称 类型 描述
Code integer 0:表示成功-1:表示处理错误
Msg string 错误信息
LockSuccess boolean true:表示锁定成功false:表示锁定失败
Rank integer 当前排名
赞 (0)
上一篇 4天前
下一篇 4天前