文章预览
《架构师之路:架构设计中的100个知识点》 43.CAS应用案例 《 库存扣减异常怎么办?(41) 》采用CAS思想,两行代码解决并发扣减异常。 《 redis解决库存并发扣减异常问题?(42) 》采用CAS思想,借助redis解决并发扣减异常。 有童鞋留言, CAS还有其他应有场景吗? 场景很多,今天分享一个巧用CAS实现 分布式全局唯一ID生成 的场景。 如何快速生成全局唯一ID? 可以借助 DB自增键 (auto inc id) ,插入一条记录,生成一个 ID : 这个方案复用了数据库的特性,其优点为: 1. 无需写额外代码; 2. 全局唯一; 3. 绝对 递增; 4. 递增 ID 的步长确定; 业务早期“并发量小”,追求“快速实现”,这么玩没问题。 这种方案有什么缺点? 1. 数据库中记录数较多; 2. 生成 ID 的性能,取决于数据库插入性能; 3. 并发量大了,数据库扛不住; 可以怎么优化? 1. DB只
………………………………