P5 · 分布式与高并发(W23-26)

目标:能落地分布式锁、分布式事务、消息队列、能设计秒杀架构 验收:能输出《12306 抢票系统设计方案》


一、本阶段核心知识点

A. 分布式理论基础

1. CAP 三选二(必背)

2. BASE 理论

3. 一致性算法

B. 分布式锁(重点)

1. 实现方案对比

方案 优点 缺点
SETNX + EXPIRE 简单 原子性差
SET key value NX EX 原子 误删风险
Redisson 成熟、可重入、Lua 续期 需引入
Zookeeper 强一致 性能低
Etcd 强一致 运维成本
MySQL 唯一索引 易理解 性能差、易死锁

2. Redisson 源码

3. 锁的陷阱

C. 分布式事务(5 种方案对比)

方案 一致性 性能 复杂度 适用
2PC 强 低 中 数据库层
3PC 强 低 高 极少用
TCC 最终 中 高 金融
本地消息表 最终 高 中 通用
MQ 事务消息 最终 高 低 RocketMQ
Seata AT 最终 中 低 通用(推荐)

D. 消息队列(重点)

1. RocketMQ(推荐)

2. Kafka(选学)

3. RabbitMQ(选学)

4. 消息三大问题(必背)

E. 分布式 ID

F. 限流 / 熔断 / 降级

1. 限流算法

2. Sentinel 实战

G. 分布式搜索引擎(Elasticsearch 入门)


二、任务清单(可勾选打卡)

Week 23 · 分布式理论与锁

Week 24 · 分布式事务与消息

Week 25 · 分布式 ID + 限流

Week 26 · 分布式搜索与综合实战


三、阶段验收标准

✅ 能独立完成: - 现场画 CAP/BASE 决策图 - 写出 Redisson 分布式锁的核心 Lua 脚本 - 给一个秒杀场景,能输出完整方案 - 用 RocketMQ 实现可靠消息投递(不丢、不重复、有序) - 用 Sentinel 实现精细化限流


四、产出物


五、面试高频问题预告

  1. CAP 是什么?为什么只能三选二?
  2. Redis 分布式锁怎么实现?Redisson 看门狗原理?
  3. RedLock 真的安全吗?Martin Kleppmann 的质疑?
  4. 消息队列怎么保证不丢失、不重复、有序?
  5. 秒杀系统怎么设计?限流、降级、削峰怎么落地?
  6. 雪花算法结构?为什么 41 bit 时间戳?