REPLICATION ACK LAB / 第 5 章

写入确认与故障切换实验

同一笔订单写入,换一种“确认口径”,客户端看到的成功与故障后的结果会怎样变化?拖动延迟,再让主节点在时间线上断电。

当前连接依次发送SET order:847 paid立即返回

运行中的拓扑

t = 0 ms · 等待开始
主节点 M处理客户端写入空闲
主 AOF
副本 R1候选晋升节点等待复制
R1 AOF
副本 R2延迟约为 R1 的 1.6 倍等待复制
R2 AOF
主节点故障
当前写入 副本已收到 等待落盘 确认完成

事件时间线

服务可用

尚未故障

主节点正在提供服务

副本已收到

0 / 2

收到 ≠ 已写入磁盘

AOF 已落盘

0 处

只统计已完成的 fsync

幂等 / 补偿

仍然需要

超时、断连与重试都可能造成结果不确定