分布式并发
分布式锁概述 ⭐⭐⭐⭐⭐
为什么需要分布式锁
// 单机环境:synchronized 有效
public synchronized void deductStock() {
if (stock > 0) {
stock--;
}
}
// 分布式环境:多个 JVM,synchronized 失效
// 服务器1:stock=1,扣减成功
// 服务器2:stock=1,同时扣减成功
// 结果:超卖!分布式锁的要求
要求
说明
Redis 分布式锁 ⭐⭐⭐⭐⭐
基础实现(SETNX)
正确实现
存在的问题
Redisson 实现
RedLock 算法
Zookeeper 分布式锁 ⭐⭐⭐⭐⭐
实现原理
手动实现
Curator 实现
ZK vs Redis 锁对比
特性
Redis
Zookeeper
一致性算法概述 ⭐⭐⭐⭐
Raft 算法
Paxos 算法
Raft vs Paxos
特性
Raft
Paxos
分布式锁最佳实践 ⭐⭐⭐⭐⭐
选型建议
实战案例:秒杀库存扣减
面试要点 ⭐⭐⭐⭐⭐
参考资料
Last updated