2PC 有什么问题?
先自己想一想,再看参考要点
参考要点
- 同步阻塞:参与者准备后一直持有锁,等待协调者的决定
- 单点问题:协调者在提交阶段故障时,已同意的参与者既不能提交也不能回滚,只能等待
- 数据不一致:协调者只发出部分 Commit 就崩溃
- 太过保守:准备阶段任一参与者失败、回复中止或超时,整个事务都要回滚
- 用数据库的 XA 实现时每个参与者都要支持 XA,Redis、Kafka、RocketMQ 和一般的 HTTP 接口无法直接参与
参考要点
学习站:先用面试题自评定级,按水平和面试日期排出每天的计划,自评过的题按间隔复习。免费、无需注册,记录只保存在自己的浏览器中。