秒杀商品 X 库存总量 10 个 A 只能买 1 个 B 只能买 2 个 C 只能买 3 个 D 只能买 4 个 如何测试商品不超卖不少卖
按业务比例控制并发数就可以了,超过即为多卖,少于即为少卖,lr,jmeter 都可以做得到
从开发角度,逻辑判断条件怎么写呢
设置商品及库存的时候,就把这个信息写到 redis 去,然后自减。为 0 的时候就返回库存为 0 等信息。 不知道这个是不是楼主想要的
redis 锁,然后加判断
是要测试的话,用压测并发压一下就知道了吧?
商品秒杀库存 10 个 A 只能买 1 个 B 只能买 2 个 C 只能买 3 个 D 只能买 4 个 不超卖,每个用户购买数量不大于自身限制量,库存大于等于 0 不少卖,每个用户购买数量不大于自身限制量,且库存为 0
逻辑这样判断对吗?
乐观锁
秒杀不是都走消息队列么? 故障注入走起来。 验证消息队列的精准一次性语意是不是弄对了。 这种数据流架构容易丢数据或者重复数据
1、首先基本的逻辑保证正确再来考虑并发问题 2、并发问题可以通过 jemter 模拟并发请求,在所有请求前和所有请求后都查下库存信息,然后根据收集到的接口返回的成功或失败计算出卖出的商品数 跟库存信息比较。