现在公司需要做一个秒杀活动。
需求:每天20点准时进行秒杀抢购,一共200件商品,到了20点抢到提示去订单页面支付,没抢到给提示。
开发技术:
前台:android 和 IOS
后台服务器开发: spring + mybatis + mysql
现在的思路有,通过队列,或者乐观锁,和redis,都没接触过。
现在想了个很笨的方法,到了20点的时候,生成一个session,session里面放map,每次请求去map里面查询,数量大于200就提示秒杀失败,小于200,就加入到map中去。这个应该不可行
有没有一些教程,或者实际的代码,思路也好,麻烦各位了~
可以参考
http://developer.51cto.com/art/201601/503511.htm
http://www.cnblogs.com/rollenholt/archive/2013/10/28/3393398.html
上面两个其实内容一样,就是一个多,一个少,可以参考下,开阔思路和增加认识。
其实秒杀还是和你的网站的用户数相关的,用户数的多少可以决定你这个秒杀系统的复杂和简单,淘宝的秒杀和个人店铺的秒杀肯定不能用一个方案,秒杀其实主要是系统性能问题,而不是谁能抢到商品的问题,如果并发大,没有使用合理技术手段,你的网站将瘫痪。
如果并发量不大,你倒是可以做做静态化,做做安全控制,设计一个抢商品规则就可以了。
关键看你有多少用户量,如果并发量大,需要多个服务器构成应用层,分布式事务,你说的这些只是在单机环境里的一些概念。
另外,你可以理解,秒杀的本质类似抽奖,而不是非要严格按照用户点击的时间取前xx个。因为本质上说用户在他的电脑上点击鼠标的先后本身就是一个不可追溯的东西。
http://bbs.csdn.net/topics/391951918
用户多吗?如果用户很多你们的网站支撑了吗?