摘要: 场景 拼团功能,当 A 客户开团之后(两人团),如果 B 和 C 同时支付,如何规避两人同时将拼团人数增加。 Laravel 中 sharedLock 与 lockForUpdate 的区别 sharedLock 对应的是 LOCK IN SHARE MODE lockForUpdate 对应的是 阅读全文
posted @ 2021-02-20 16:22 caibaotimes 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 抢购/秒杀是如今很常见的一个应用场景,那么高并发竞争下如何解决超抢(或超卖库存不足为负数的问题)呢? 常规写法: 查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下就会有问题,导致库存量出现负数 这里我就只谈redis的解决方案吧... 我们先来看 阅读全文
posted @ 2021-02-20 11:18 caibaotimes 阅读(504) 评论(0) 推荐(1) 编辑
摘要: 分布式锁概览 在多线程的环境下,为了保证一个代码块在同一时间只能由一个线程访问,Java中我们一般可以使用synchronized语法和ReetrantLock去保证,这实际上是本地锁的方式。但是现在公司都是流行分布式架构,在分布式环境下,如何保证不同节点的线程同步执行呢? 实际上,对于分布式场景, 阅读全文
posted @ 2021-02-20 10:50 caibaotimes 阅读(3276) 评论(0) 推荐(0) 编辑