直播系统礼物连击怎么设计

2021-03-19 11:26:29 +08:00
 arbit

公司项目里直播系统需要实现连击送礼的效果,现在有两种方案: 1.每次点击都算一次单独送礼,接口做一次处理,缺点:( 1 )会有并发问题 ( 2 )数据反馈给被打赏的人怎么判断是否为连击 2.前端统计连击完成,一次性发给后台接口,缺点:失去实时性,如果账号连击时间非常长,被打赏的人要等到连击完成后才会收到打赏的消息

大佬们,那种方式更适合呢,有没有什么建议

2046 次点击
所在节点    问与答
10 条回复
lsylsy2
2021-03-19 11:28:34 +08:00
每 10 个礼物或每 3 秒发送一次,取较短的一个?
66beta
2021-03-19 11:34:11 +08:00
这跟埋点统计差不多,凑满 N 个就发送,你这里需要时效性的话,那就 N 个 和 M 秒,满足其一就发送
dqzcwxb
2021-03-19 12:04:31 +08:00
redis 中记录送礼,过期时间为连击最大间隔每次送礼刷新过期时间,使用 watch 监控 key 的删除,删除时间即为连击结束
dqzcwxb
2021-03-19 12:09:19 +08:00
@dqzcwxb #3 更正一下,不是 watch 监控而是 Pub / Sub 的过期回调事件
akira
2021-03-19 12:10:28 +08:00
每点击 xx 次 或 每间隔 xx 秒 发送一次。

每次点击的位置 时间点 信息最好都提交上去
arbit
2021-03-19 12:16:36 +08:00
好的 了解下 谢谢各位老哥 应该是设置连击的最大次数 当连击达到上限或者主动暂停时 发送服务器请求打赏接口
binux
2021-03-19 12:18:12 +08:00
用 1
送礼是一次交易,按照正常 transaction 做
连击是一个特效,你只要下发了就可以了
rodrick
2021-03-19 12:53:33 +08:00
类似于节流的原理?
ParfoisMeng
2021-03-19 15:28:11 +08:00
这个你只要用手机和 PC 同时给主播送礼,看一下连击数是单端还是总和,就知道该是方案几了
linksNoFound
2021-03-22 09:07:47 +08:00
做几个按钮,10 连,30 连,99 连 2333

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/763133

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX