知识卡片

复制日志与复制状态变化的关键差异

普通读书笔记卡

内容

Paxos/Raft复制”客户端请求日志”,Zab复制”状态变化”——与MySQL Binlog的statement格式对比raw格式、Redis AOF对比RDB是同一组对照。两个关键差异:同步次数(连续三次相同写请求,日志同步三次而状态变化只需一次);幂等性(复制状态变化天然幂等,复制日志重复应用”X=X+1”会出错)。发散:选哪种是在同步频率幂等性和细粒度可追溯性间权衡。

参考来源

- 位置:第11章《多副本一致性》11.4.1节「Replicated State Machine vs. Primary-Backup System」(源文件:_epub-src/text/part0060.html) - 结论依据:原文明确用X变量例子对比两种模型:Replicated State Machine持久化并复制日志序列(Paxos/Raft),Primary-Backup System持久化并复制状态变化(Zab),并指出两个关键差异——同步次数不同(连续三次相同写请求复制状态变化只需一次)、幂等性不同(复制状态变化天然幂等),直接支持卡片论述。 - 原始内容:"一个持久化的是客户端的请求序列(日志序列),另外一个持久化的是数据的状态变化,前者对应的是Replicated State Machine,后者对应的是Primary-Backup System……如果存储的是日志……客户端连续执行三次X=1、X=1、X=1……在节点之间要同步三次数据;如果存储状态变化的话,则只有一条……存储状态变化。其天然具有幂等性。"