知识卡片

日志顺序保一致

普通读书笔记卡 · 1766.b

内容

事件日志的价值在于顺序性:同一聚合的事件按发生顺序追加,状态才能被确定性重建。发散:很多一致性问题,本质是在争夺谁有权写入下一条事实。

参考来源

- 位置:《复杂软件设计之道》第6章《事件溯源》"6.3.2 事件日志的顺序性"一节(源文件:_chapter_text/ch06.txt) - 结论依据:原文明确"事件的顺序性是事件溯源的根本保证,没有前后顺序(如付款事件可能先于下订单事件),就会造成整个系统的处理混乱",并说明"事件顺序性通过设置某个时刻只有一个操作者对事件日志的追加事件来实现",无论是共识选主、CRDT向量时钟还是区块链工作证明,本质都是在决定谁有权写入下一条事件。 - 原始内容:事件的顺序性是事件溯源的根本保证,没有前后顺序(如付款事件可能先于下订单事件),就会造成整个系统的处理混乱。事件顺序性通过设置某个时刻只有一个操作者对事件日志的追加事件来实现……基于共识(Paxos或Raft)算法选出主节点时,如果过半数同意则代表选举成功。