当前位置 博文首页 > Jerry的博客:秒杀系统设计方案

    Jerry的博客:秒杀系统设计方案

    作者:[db:作者] 时间:2021-09-20 19:28

    秒杀系统难点:
    高并发对数据库产生的压力
    竞争状态下如何解决库存的正确减少(超卖少卖问题)
    1.若是用户成功秒杀商品我们记录了其购买明细却没有减库存。导致商品的超卖。

    2.减了库存却没有记录用户的购买明细。导致商品的少卖。对于上述两个故障,若是没有事务的支持,损失最大的无疑是我们的用户和商家。在MySQL中,它内置的事务机制,可以准确的帮我们完成减库存和记录用户购买明细的过程。

    通过数据库事务来解决超卖少卖问题。


    解决方案:
    尽量将请求拦截在系统上游
    读多写少经量多使用缓存
    redis缓存 +RabbitMQ+ mysql 批量入库

    秒杀接口流程图

    队列订阅者处理流程

    前端轮询秒杀结果,或通过消息通知。

    cs