大家好,我是小米,今年 31 岁,一个在 Java 世界里摸爬滚打多年的程序员大哥哥。
前几天,我在帮朋友模拟社招面试的时候,面试官突然抛出一个问题:
“你了解 Redis 的 RedLock 吗?它解决了什么问题?”
朋友愣了三秒钟,憋出一句:
“呃……分布式锁的一种实现?”
面试官点点头,又补了一刀:
“那为什么要有 RedLock?SETNX 不行吗?”
好,熟悉的气息来了。这是一个典型的:面试官想看看你“到底理解到哪一层”的问题。
今天这篇文章,我不打算一上来就甩论文、甩算法、甩名词。我们还是老规矩讲个故事。
故事的开始:全村只有一把锁
想象一个场景。你住在一个村子里,村里有一间公共仓库,里面放着村里唯一的“宝贝资源”:比如水泵、电动车充电口、发电机。
为了避免大家同时抢,村长规定:谁用,谁先拿锁。这把锁就挂在仓库门口。
单机时代:一把锁,世界和平
一开始,村子很小,只有一个仓库。
- 锁是真的锁
- 钥匙只有一把
- 谁先拿到,谁用
这就像:单体应用 + 本地锁(synchronized / ReentrantLock)
简单、直接、世界和平。
问题来了:村子扩张了(分布式时代)
后来,村子发展了。
- 东村
- 西村
- 南村
- 北村
每个村口都建了一个仓库副本,

最低0.47元/天 解锁文章
8万+

被折叠的 条评论
为什么被折叠?



