停止寻找唯一答案:状态导向一致性

State-oriented consistency: Why we stopped looking for one right answer

停止寻找唯一答案:状态导向一致性

我们在构建分布式消息代理时曾陷入误区:试图为整个集群寻找一种统一的Consistency模型。一次严重的OOM事件让我们意识到,问题不在于内存不足,而在于架构假设错误。我们默认所有状态都需要相同的复制策略,却忽略了不同状态对一致性要求的本质差异。通过提出State-Oriented Consistency理念,我们开始逐一分析每种状态:Live connection需要单一权威所有者,Offline client只需确定性计算,而Message routing则能容忍短暂不一致。这种分类方法让架构设计变得清晰,每种状态匹配最弱但足够的机制,最终消除了不必要的资源消耗。这不仅是修复了一个Bug,更是推翻了“一刀切”的架构思维。

我们最初认为这种状态需要共识,因为“谁拥有这个”听起来像是共识应该解决的问题,但其实它并不需要。

同日更多故事

2026-08-06