分布式锁RedLock争论 前言RedLock 争议是 Redis 作者 Salvatore Sanfilippo(Antirez)与分布式系统研究者 Martin Kleppmann 围绕分布式锁安全性所展开的一场经典技术论战。 这场争论的核心并非仅针对 RedLock 算法本身,而是进一步延伸至一个更本质的问题: 在真实分布式环境中,是否能够仅依赖基于时间的租约(Lease)机制构建同时具备安全性(Safety)、活性 2026-06-17 分布式 > 分布式锁 > 争论 #分布式 #分布式锁
一致性模型 前言在分布式系统中,一致性模型(consistency model)定义了多个进程或节点对共享数据进行读写操作时应满足的约束与行为保证。一致性模型不仅关乎系统的正确性,也直接影响系统的性能、可用性与可伸缩性。 本文从弱到强介绍主要的一致性模型,并分析它们的权衡、适用场景与在实际系统中的应用。 一致性模型的分类与强弱关系分布式系统中常见的一致性模型可按强度从强到弱排序如下: $$\text{线性一 2026-06-17 分布式 > 理论基础 #分布式 #理论基础
FLP不可能性定理与分布式共识理论 前言CAP 定理中的 $P$(分区容忍性)在完全异步系统里其实就是 FLP 的常态: 在 CAP 的世界里:当发生 $P$ 时,如果你追求 $C$(强一致性),节点就必须死等对端恢复,从而被迫放弃 $A$(可用性/终止性)。 在 FLP 的世界里:因为网络完全异步,哪怕没有发生物理分区,仅仅是网络延迟波动,或者节点正在经历 Stop-the-World (STW) 垃圾回收,对于其他节 2026-05-28 分布式 > 理论基础 #分布式系统 #一致性理论 #FLP不可能性
拜占庭将军问题 拜占庭将军问题(Byzantine Generals Problem)前言拜占庭将军问题由 Lamport、Shostak 和 Pease 于 1982 年提出,描述了分布式系统中存在恶意节点(拜占庭故障)时,如何在参与方之间就一个共同决策达成一致的问题。该问题奠定了对抗任意错误(Arbitrary Failures / Byzantine Failures)容错理论的基础,并直接影响了 2026-05-28 分布式 > 理论基础 #分布式 #理论基础
二分法 二分法二分法是在有序区间中以 O(log n) 复杂度查找答案的方法。 不仅适用于: 完全有序数组 部分有序数组 单调函数 答案空间搜索 例如: LeetCode 704:二分查找 LeetCode 34:查找元素第一个和最后一个位置 LeetCode 33:搜索旋转排序数组 LeetCode 153:寻找旋转数组最小值 各种「答案二分」 虽然二分法思想很简单,但是对于不同二分变形有很多细 2026-05-22 数据结构与算法