1. 线性一致性(linearizability)、顺序一致性(sequential consistency)与因果一致性的强弱关系如何排列?
排列线性一致性、顺序一致性与因果一致性的强弱关系,并说明各自的语义?
- 线性一致性:实时全序(最强)
- 顺序一致性:全序但允许重排、不考虑实时
- 因果一致性:仅保证因果序
三者强弱关系为:线性一致性(linearizability)> 顺序一致性(sequential consistency)> 因果一致性(causal consistency)。线性一致性要求所有操作按"实时全序"生效,即操作在调用与返回之间某个瞬间生效,且与真实时间顺序一致,任何其他操作都不能插在中间;顺序一致性只要求存在一个全局全序,使所有节点看到相同顺序,但允许与真实时间不符(重排并发操作);因果一致性只要求有因果关系的操作按因果顺序被观察到,无因果关系的并发操作可任意顺序。线性一致是最强、最利于推理,但成本最高;因果一致在分布式键值系统中常用,兼顾语义与性能。
强弱关系体现在"对顺序的约束":线性一致约束实时序,顺序一致约束全序但允许重排,因果一致只约束因果序。理解该谱系有助于在系统设计中按需选择,避免过度强一致或过度弱一致。