自动发红包啦

2021-02-23 14:15:21 +08:00
 nobuger

最近接了一个比较老的系统,营销系统使用的,主要是用来活动现场发红包。

现在有个需求,活动现场,主持人在台上点击发红包按钮,台下进入小程序(公众号)的签到用户在小程序(公众号)界面会自动弹出红包,用户点击领取。

感觉这个功能有点像博客的消息提醒或者实时变化的未读邮件数,初步的想法是用户页面不停地发接口查询状态,状态改变后就出现红包,但是感觉不是很好的方法。

想请教下应该怎么实现。感谢!

框架用的 spring MVC 。

2487 次点击
所在节点    程序员
22 条回复
ajaxfunction
2021-02-23 22:44:10 +08:00
用 websocket 就是纸上谈兵,理论没问题,实际坑死。
活动现场人数很多,无论是 wifi 或 4g 网络抖动都很严重,websocket 是长连接应用,一旦短线务必重连,又的走一遍权限认证,各种校验流程,负载不比轮询低
轮询呢这次请求错误,那就继续请求呗,session 和 cookie 又不会丢。

redis 里放一个活动状态,默认是关,主持人点了发送,活动状态改成开
你觉得不好的方法,反而是最优的设计,只不过在 UI 界面上可以用障眼法来降低负载,比如滑动拖动点击元素来进入活动增加趣味性也避免并发

这种现场实时系统,简单稳定是最重要的,否则就是事故,轻则挨批,重则砸场子。
vindurriel
2021-02-24 06:03:12 +08:00
最小成本且最受信任的解决方案是 登录鉴权后展示群二维码 进群 管理员在群里发包
如果自己做抽奖 即使费劲解决了并发的问题 所有没中的人都会怀疑有黑幕

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

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

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

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

© 2021 V2EX