大数据量,限时抢购活动,代码实现
假如1500w个用户,要抢购30w个商品,而且都是1点开始,每个人都抢,
怎么能实现 这么大的数据量同时抢购呢?
每抢购一个商品,商品表的数量都减1
怎么能防止多个用户同时抢购同一个呢?
求大侠赐教!
------解决方案--------------------首先要从架构上去分析
限时抢购活动是要求高度一致性为优先级别,那不得不舍去可用性和分区容错性其中一个
将1500W个用户和30W个商品,平均分配到100台服务器,
第台机器是3000个名额的处理和15W个响应处理
------解决方案--------------------update 商品表 set 用户id=xxx where 商品id=xxx and 用户id is null
用户id为null的还没被抢
用户id不为null的就是被对应用户抢到的