7 交易性能优化技术之缓存库存
交易性能瓶颈
交易验证完全依赖数据库 每一次操作 都是用sql语句的形式去数据库里读的
库存行锁 所有减库存操作都是串行进行的
后置处理逻辑 比如增加商品销量等信息也会影响性能
交易验证优化
用户风控策略优化:策略缓存模型化 判断用户id是否存在是最基础的风控策略 其他的还可以有最近是否有异常行为 将这些策略模型化 异步写入redis缓存中 然后实时拦截
活动校验策略优化:引入活动发布流程 模型缓存化 紧急下线能力
库存行锁优化
扣减库存缓存化
异步同步数据库
库存数据库最终一致性保证
扣减库存缓存化
方案:
1)活动发布同步库存进缓存
2)下单交易减缓存库存
问题:数据库记录不一致 (小公司可用 所有精力去保证缓存的稳定性)
方案:即可以保证客户端用户的购买流程 又可以保证数据库和真实库存之间的最终一致性
1)活动发布同步库存进缓存
2)下单交易减缓存库存
3) 异步消息扣减数据库内库存
异步消息队列rocketmq
高性能,高并发,分布式消息中间件
典型应用场景:分布式事务,异步解耦