某秒杀活动,为了安全起见 分别在js代码 java代码 redis并发计数 数据库事务4个层面进行业务安全的控制。
起先发现数据库慢16分钟,所以代码层面设置时提前了16分钟。
后来升级更新秒杀代码为基于redis的代码,本地反复测试无误后 发布至生成小规模测试也没有问题,但是活动开始后 观察日志 持续2分钟没有订单产生,百思不得其解 想着是否要立刻回滚代码,恩 哪怕是最笨拙的复制压缩备份 也一定要有备份,突然发现订单蜂拥而至。
为什么前2分钟没有订单? 检查发现是数据库的时间 又慢了2分钟,所以….
如何解决这样的问题? 暂时没想好 ,每次活动前检查下数据库时间并据此修正活动的配置参数是当前的做法。
Tags: 秒杀
发表评论