网络上 有很多讲 高并发秒杀,通过锁来处理,其实不在正确
首先,秒杀 和 普通卖产品 是一样的,唯一区别,秒杀是很多人 同一时刻买该产品,造成的高并发,系统会产生很多线程,造成库存超卖,所以采用锁来解决 这问题,
那用锁解决超卖问题,岂不是要排队了,100个人来买该产品 要排队,何来的秒杀呢,而不是实现,而真正的 高并发秒杀,需要用到多线程功能,其核心思想, 想知道的可联系我
方案1:
加载库存到redis ,接收请求 在redis操作库存,返回前端一个单号,同时 快速 生成消息队列排队处理,接收消息 一个个处理订单 处理数据库库存 ,为了快速处理 消息队列 可以用线程 或者 多个消费者处理,
方案2 更接近 抢夺,还是要排队的,不同的是,将库存分散,队列获取随机数 去不同的 库存 位置处理库存,该方案 待实践