一百万人抢购一个iphone4s,如何操作

jiankewuming 2013-12-28 02:28:24
如题,类似于12306的抢票或者小米的抢购
...全文
615 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
若鱼1919 2014-02-12
  • 打赏
  • 举报
回复
我们公司的秒杀用了17台tomcat,能应付100万的瞬间访问量
苦瓜蛋糕 2014-02-12
  • 打赏
  • 举报
回复
小米的抢购 不提交任何数据,直接跳转到“已售罄”页面 你值得拥有
长笛党希望 2013-12-30
  • 打赏
  • 举报
回复
这里有秒杀技术的讨论,楼主可以一起学习一下 http://www.iteye.com/topic/1119017
ifvlr 2013-12-30
  • 打赏
  • 举报
回复
引用 2 楼 huxiweng 的回复:
秒杀原理很简单,比如有十个商品供秒杀,第十一个提交的人就给他返回秒杀完毕,但是想做到不容易,1集群,大型商城的服务端都是n多台服务器集群的,每台服务器在很短的时间内都提交过来很多请求,怎么统一计算谁先谁后。2奖品数量的记录,被秒的商品要从商品的总数量中去掉,怎么统一处理而不会每台机器都发出去相同数量的商品。3一瞬间的高并发,一瞬间的高并发能不能撑住。 方案1:直接糊弄消费者,没有任何程序处理,瞬间显示商品被秒完,放出假的获奖名单。 方案2:使用一个消息队列处理存放获奖信息,不管几台服务器都同时向一个消息队列里放,队列满了就返回商品已经被秒完。这样做工作量很大,需要搭建调试队列服务器,甚至需要重新做异步处理的程序。 ps:我已经见过好多假的所谓抢购或者秒杀的。根本就没有请求服务器,到点了就直接显示秒杀结束。
那小米和12306用的是不是都是第二种呢?
ay转身遇 2013-12-30
  • 打赏
  • 举报
回复
jiankewuming 2013-12-29
  • 打赏
  • 举报
回复
自己顶,顶,顶
zzt369880281 2013-12-29
  • 打赏
  • 举报
回复
够狠的呀,1000000:1
coolbamboo2008 2013-12-29
  • 打赏
  • 举报
回复
小Kimi还不结贴么 秒杀确实挺难做的,关键是高并发的问题 不过你只有一个奖品,倒简单了,第一个上来的人扔到某个数据库表里(不能同时写哦,要控制一下),后面进来的人查数据库里有值没有,有则不中
jiankewuming 2013-12-28
  • 打赏
  • 举报
回复
引用 2 楼 huxiweng 的回复:
秒杀原理很简单,比如有十个商品供秒杀,第十一个提交的人就给他返回秒杀完毕,但是想做到不容易,1集群,大型商城的服务端都是n多台服务器集群的,每台服务器在很短的时间内都提交过来很多请求,怎么统一计算谁先谁后。2奖品数量的记录,被秒的商品要从商品的总数量中去掉,怎么统一处理而不会每台机器都发出去相同数量的商品。3一瞬间的高并发,一瞬间的高并发能不能撑住。 方案1:直接糊弄消费者,没有任何程序处理,瞬间显示商品被秒完,放出假的获奖名单。 方案2:使用一个消息队列处理存放获奖信息,不管几台服务器都同时向一个消息队列里放,队列满了就返回商品已经被秒完。这样做工作量很大,需要搭建调试队列服务器,甚至需要重新做异步处理的程序。 ps:我已经见过好多假的所谓抢购或者秒杀的。根本就没有请求服务器,到点了就直接显示秒杀结束。
哈,上面这段我也看过。这几天看了一些这方面的讨论。
朗晴 2013-12-28
  • 打赏
  • 举报
回复
给我得了,抢什么抢。。。
teemai 2013-12-28
  • 打赏
  • 举报
回复
秒杀原理很简单,比如有十个商品供秒杀,第十一个提交的人就给他返回秒杀完毕,但是想做到不容易,1集群,大型商城的服务端都是n多台服务器集群的,每台服务器在很短的时间内都提交过来很多请求,怎么统一计算谁先谁后。2奖品数量的记录,被秒的商品要从商品的总数量中去掉,怎么统一处理而不会每台机器都发出去相同数量的商品。3一瞬间的高并发,一瞬间的高并发能不能撑住。 方案1:直接糊弄消费者,没有任何程序处理,瞬间显示商品被秒完,放出假的获奖名单。 方案2:使用一个消息队列处理存放获奖信息,不管几台服务器都同时向一个消息队列里放,队列满了就返回商品已经被秒完。这样做工作量很大,需要搭建调试队列服务器,甚至需要重新做异步处理的程序。 ps:我已经见过好多假的所谓抢购或者秒杀的。根本就没有请求服务器,到点了就直接显示秒杀结束。
  • 打赏
  • 举报
回复
可以网上下载一些抢答器的程序看一下,原理有相似之处

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧