设计一个抢票秒杀系统

设计一个抢票秒杀系统

按照我的理解,系统架构如图:
在这里插入图片描述
redis负责存储剩余商品总数
流程:
用户请求->负载均衡-> 服务器(服务器这里为了减小redis压力,在server端设计的商品数量。当商品数量为server端数量为0时,不去redis扣除出库,只有server与redis都扣除出库数量时,才能说明用户抢购成功)->redis缓存(缓存这里存储商品剩余数量,以及订单)->kafka(从这里并发量开始下降,因为和抢购相比,抢到的人数量要小的多) ->server4(这里将订单信息写入数据库,流式写入,减少了锁的使用,增强数据库性能) -> server5(这里将超时订单和退款订单关闭,并将关闭的订单商品数量返回到redis中,以便其他人抢购)

猜你喜欢

转载自blog.csdn.net/luslin1711/article/details/105859523