一致性模型谱系

一致性模型描述并发读写时可观察到的保证强度,从线性一致、顺序一致、因果一致到最终一致逐级放宽;模型越弱,可用性与延迟表现通常越好。

模型

模型保证典型代价
线性一致读写像单副本实时执行跨节点协调,延迟高
顺序一致所有节点看到相同操作顺序需要全局定序
因果一致有因果关系的操作顺序一致中等,常用折中
最终一致停止写入后副本最终收敛读到旧数据的窗口不可控
选择模型时明确“业务能容忍多旧的数据”“能否处理冲突”,比记住模型名称更重要。

易错点

  • 文档只写“强一致”但不说明具体模型,评审无法判断
  • 跨服务链路各段模型不同,端到端保证被削弱到最弱一段

数据来源与参考

  • Jepsen 一致性模型参考(jepsen.io/consistency)
  • 《数据密集型应用系统设计》(Kleppmann)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌