6.3 并发控制
分布式事务
1. 知识点论述
「6.3 并发控制」是《分布式计算系统》分布式事务部分的核心知识点。把跨节点操作组织成可提交或可回滚的事务。本知识点首先把握:悲观:访问前加锁,锁粒度影响并发,不当加锁会死锁。分布式环境下锁要跨节点。学习时请把它放回整门课主线——把独立计算机组织成对用户像一台机器的系统,并用通信、数据放置、复制、容错与调度把这件事做可靠。
2. 视频教程
悲观锁、乐观锁与 CAS
3. 知识点详解
下面围绕本知识点展开要点说明,建议结合上方视频边看边对照。
- 悲观:访问前加锁,锁粒度影响并发,不当加锁会死锁。分布式环境下锁要跨节点。
- 时间戳排序:用时间戳决定冲突操作谁先谁后。
- 乐观:先执行,提交前验证,冲突就放弃重试。
- MVCC:写产生新版本,读看自己的版本,读写更容易并发。有多版本两阶段锁和多版本乐观控制。
学习建议:先抓住定义与问题,再理解机制步骤,最后对照应用场景思考“何时用、何时不用、代价是什么”。
4. 应用场景
- InnoDB MVCC、乐观锁秒杀、分布式锁。
- 读写比例决定悲观/乐观/多版本选型。
- 跨节点锁放大与死锁需要额外协议。