springboot企业级抽奖项目-整体展示
项目地址
GitHub - kiorr/lottery: 企业红包雨项目
star截图+q:3353441618可以领取资料
原型效果
前台
后台
业务分析
项目介绍
项目概述
京东的红包雨大家可能都参与过,在某段时间内随机发放不同的红包 本项目为一个通用的红包雨模式抽奖系统,兼容多种规则。 由管理后台配置相关活动和奖品等信息,前端用户通过参与活动,完成抽奖。
应用场景
1)时间随机(本期完成)
在一段时间内,设置一批礼品,这些礼品不定时的出现,尽量在这段时间内均匀抛出,一旦出现,就可以被抓走。 类似抓红包。
2)瞬间秒杀 用于抢单或者秒杀场景,到点后,用户一起抽奖,机会均等,谁抢的快算谁的。这个并发比较高。但是活动时间相
对较短。
3)机会随机
常⻅于转盘类活动。不同等级的用户,设定不同的中奖概率,一般配合设置用户最大可抽奖次数,比如5次机会, 能不能中奖,根据概率判定。一般活动时间设置的较⻓,比如几天。
系统痛点
1. 并发性
抽奖系统涉及到访问量大的问题。系统所面临的第一关,即活动开始的瞬间,大批用户点击的涌入。怎样设计系统 以达到如此高并发情况下的及时响应是本项目的重中之重。
2. 库存控制
抽奖面临的必然是奖品。数量控制是必须要做到精准吻合。不允许出现设置了5个奖品,最终6人中奖这种类似的问 题出现。其中的本质是奖品库存的控制。
3. 投放策略
在活动时间段内,管理员设置好的一堆奖品如何投放?红包何时出现?什么时候可以被抽中?这些都涉及到投放策略。
4. 边界控制
活动何时开始?何时结束?倒计时如何控制。这涉及到活动的边界。开始前要提防用户提前进入抽奖。结束后要及时反馈结果给用户,告知活动已结束。
5. 活动自由配置
后台管理员可以自由配置多个活动的开始结束时间,主题、活动简介、有哪些奖品、不同等级的用户中奖的策略。活动之间独立运行,互不干扰。
6. 中奖策略
每个用户参与抽奖后,要遵从后台管理员所设定的中奖策略,对其可抽奖次数、最大中奖次数、中奖概率等做到严格控制。