目录
想学习架构师构建流程请跳转:Java架构师系统架构设计
1 背景介绍
并发量非常大的系统,例如秒杀、抢红包、抢票等操作,都是存在溢出现象,比如秒杀超卖、抢红包超额、一票多单等溢出现象,如果采用数据库锁来控制溢出问题,效率非常低,在高并发场景下,很有可能直接导致数据库崩溃,因此针对高并发场景下数据溢出解决方案我们可以采用Redis缓存提升效率。
1.1 设计分析微信抢红包
用户抢红包的时候,我们会分批次发放红包,每次发放红包会先根据发放红包的金额和红包的个数把每个红包计算好,然后存入到Redis队列中,存入到Redis队列后,用户每次抢红包都直接从Redis队列中获取一个红包即可,由于Redis是单线程,在这里可以有效的避免多个人同时抢到了一个红包,类似一种超卖现象。
表结构设计:
CREATE