| 保序范围 | 同一客户端顺序、读写依赖、传递关系 |
|---|---|
| 不保证 | 并发无因果操作的全局顺序 |
| 实现 | 版本向量、因果上下文传递、依赖跟踪 |
因果依赖检查示意
因果依赖检查示意
每个消息携带已见事件集合(版本向量)
- 节点收到消息时先补齐缺失的依赖事件
- 依赖未到则暂存,不提前展示
效果:回复不会先于原帖对用户可见社交、协作类场景常以因果一致作为折中:既保证用户直觉上的顺序,又保留可用性。
保证有因果关系的操作在所有节点上按相同顺序可见,无因果关系的操作可乱序;比强一致代价低,又避免“评论早于帖子”这类明显异常。
| 保序范围 | 同一客户端顺序、读写依赖、传递关系 |
|---|---|
| 不保证 | 并发无因果操作的全局顺序 |
| 实现 | 版本向量、因果上下文传递、依赖跟踪 |
每个消息携带已见事件集合(版本向量)
- 节点收到消息时先补齐缺失的依赖事件
- 依赖未到则暂存,不提前展示
效果:回复不会先于原帖对用户可见