| 问题场景 | 多副本轮询读:先读到新数据,再读到旧副本的旧数据 |
|---|---|
| 实现 | 会话固定副本、按版本过滤、读取时携带最小可见版本 |
| 关联保证 | 常与读己之写一起作为会话保证 |
- 会话粘性:同一会话固定访问同一副本组
- 版本过滤:读取携带已见最小版本,旧版本响应丢弃重试
- 分页场景:保持同一读取通道,跨页不切换副本
- 监控:统计版本回退重试比例,偏高时检查副本健康
分页查询跨越多个副本时,单调读缺失会导致重复或遗漏条目。
同一会话的读取不会“时光倒流”:如果已看到某个版本的数据,后续读取不会返回更旧的版本;通过绑定副本或比较版本号实现。
| 问题场景 | 多副本轮询读:先读到新数据,再读到旧副本的旧数据 |
|---|---|
| 实现 | 会话固定副本、按版本过滤、读取时携带最小可见版本 |
| 关联保证 | 常与读己之写一起作为会话保证 |