日期:2014-05-16  浏览次数:20762 次

大数据量,限时抢购活动,代码实现

假如1500w个用户,要抢购30w个商品,而且都是1点开始,每个人都抢,

怎么能实现 这么大的数据量同时抢购呢?

每抢购一个商品,商品表的数量都减1

怎么能防止多个用户同时抢购同一个呢?

求大侠赐教!


------解决方案--------------------
首先要从架构上去分析

限时抢购活动是要求高度一致性为优先级别,那不得不舍去可用性和分区容错性其中一个


将1500W个用户和30W个商品,平均分配到100台服务器,

第台机器是3000个名额的处理和15W个响应处理

------解决方案--------------------
update 商品表 set 用户id=xxx where 商品id=xxx and 用户id is null


用户id为null的还没被抢
用户id不为null的就是被对应用户抢到的