多主复制

多个节点都能接受写入并互相复制,提升本地写入可用性;代价是写冲突必须显式解决(最后写入胜出、版本合并或应用层合并)。

适用多地域本地写入、离线编辑后同步
冲突解决LWW(可能丢数据)、CRDT(自动收敛)、应用自定合并
风险同一记录并发修改产生分叉,回放与对账复杂

冲突解决策略对比

策略机制代价
LWW按时间戳覆盖写依赖时钟,可能丢数据
版本向量检测并发修改并暴露冲突需要应用合并逻辑
CRDT数据结构自动收敛结构受限、迁移成本高
LWW 依赖时钟,时钟回拨或偏差会导致“较早的修改”覆盖较新内容。

易错点

  • 使用时间戳覆盖解决冲突,数据静默丢失
  • 冲突处理逻辑未测试,故障后才临时决定合并规则

数据来源与参考

  • 《数据密集型应用系统设计》(Kleppmann)第 5 章
  • CRDT 相关论文(Shapiro 等,2011)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌