优惠券领取数据流转图:
要点:
1 通过扩散,缓冲队列JMQ来分摊领取压力,异步入库;
2 利用redis 原子函数来做库存扣减(incr 原子操作),redis的单线程模式,不会存在高并发问题;初始化库存数量stock=Long.max-init stock,用户领取一张劵,执行incr(stock.key)操作,通过cach incr 异常来控制超卖;
优惠券领取数据流转图:
要点:
1 通过扩散,缓冲队列JMQ来分摊领取压力,异步入库;
2 利用redis 原子函数来做库存扣减(incr 原子操作),redis的单线程模式,不会存在高并发问题;初始化库存数量stock=Long.max-init stock,用户领取一张劵,执行incr(stock.key)操作,通过cach incr 异常来控制超卖;
转载于:https://www.cnblogs.com/xqGo/p/10385138.html