V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
arbit
V2EX  ›  问与答

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

  •  
  •   arbit · 2021-03-19 11:26:29 +08:00 · 2235 次点击
    这是一个创建于 1331 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    每次点击的位置 时间点 信息最好都提交上去
    arbit
        6
    arbit  
    OP
       2021-03-19 12:16:36 +08:00
    好的 了解下 谢谢各位老哥 应该是设置连击的最大次数 当连击达到上限或者主动暂停时 发送服务器请求打赏接口
    binux
        7
    binux  
       2021-03-19 12:18:12 +08:00
    用 1
    送礼是一次交易,按照正常 transaction 做
    连击是一个特效,你只要下发了就可以了
    rodrick
        8
    rodrick  
       2021-03-19 12:53:33 +08:00
    类似于节流的原理?
    ParfoisMeng
        9
    ParfoisMeng  
       2021-03-19 15:28:11 +08:00
    这个你只要用手机和 PC 同时给主播送礼,看一下连击数是单端还是总和,就知道该是方案几了
    linksNoFound
        10
    linksNoFound  
       2021-03-22 09:07:47 +08:00
    做几个按钮,10 连,30 连,99 连 2333
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1938 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:31 · PVG 08:31 · LAX 16:31 · JFK 19:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.