秒杀场景要不要加分布式锁?--第二版

3、给每个用户钱包唯一ID

如图,此时可以同时支持10000个人同时秒杀,避免无力支付的用户捕获资源,此时请求捕获手表锁,依然需要使用分布式锁消耗资源,损耗性能

那么如何提升性能呢?

4、避免手表锁的消耗

如图,我们采用redis集群,提前将手表均匀放到redis节点中;此时redis集群有六个节点,由于redis单线程的机制,可以同时保证六个请求被处理,由于没有加手表锁,并且在内存中操作,所以性能较好;同时可以避免资产不足的用户发送redis命令

总结提问:

1、秒杀场景的分布式锁主要应用在哪些资源

2、被争抢的资源,是否需要分类,比如:个人资源【用户钱包】和公有资源【手表】

3、redis集群如何保证手表存/取命令均匀执行

4、个人资源在秒杀场景中,是否需要预扣除操作

5、如果防止重复提交

6、如何保证redis数据和DB数据的一致性

#23届找工作求助阵地##软件开发薪资爆料##悬赏#
Java之项目解析+八股文 文章被收录于专栏

针对Java简历中项目的功能进行提问,大家可以在评论区中解答/讨论;同时提供八股文

全部评论
博主JUC整理的好全面
点赞
送花
回复
分享
发布于 02-27 19:18 浙江

相关推荐

点赞 12 评论
分享
牛客网
牛客企业服务