为了账号安全,请及时绑定邮箱和手机立即绑定

急求!!!!高并发场景下,如何保证优惠券的匀速发放十分感谢

急求!!!!高并发场景下,如何保证优惠券的匀速发放十分感谢

POPMUISE 2019-11-02 13:45:30
前提高并发场景,参与用户在千万级,优惠券总数量假设为一百万每天固定时间段开放抢优惠券活动(假设20:00~22:00),持续一周(所以每天2小时共发放约13万张,每小时6.5万张)要求在每天的2个小时时间内,要求优惠券尽量平滑地发放,也就是说,不能前半小时就把13万张优惠券给发完了,要让后来的用户仍然能够有机会得到优惠券,并且活动时间内不管什么时候来,获得优惠券的几率尽量一致。请问要如何设计这样的算法?望大神不吝赐教!
查看完整描述

2 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

我觉得你可以把优惠券放到redis里,一天发放多少,计算好数量和时间间隔,用户请求时候按照时间戳随机发给其中一个人或几个人。得不到优惠券的要给个友好提示。
其实这个感觉还是不好控制,因为网站有些时段访问人多,有些时段访问人少,本身也不均匀,均匀发放势必导致发不完和领不到的情况。
不如设置时段发放数量,让大家去抢。反正每个时间段都有优惠券,这样还可以让网站整天都保持较高访问。
个人愚见
                            
查看完整回答
反对 回复 2019-11-02
  • 2 回答
  • 0 关注
  • 581 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信