第 22 / 23 篇

附录三 术语与保证边界

CDC:捕获数据库变化的技术集合。本书特指Debezium读取MySQL真实binlog并输出事件的路径,不把定时扫描updated_at当作相同协议。

快照:在既定一致性边界下读取已有数据。快照完成不等于投影已追平;本实验在扫描期间真实写入,再验证最终集合。

binlog位置:MySQL日志命名空间内的位置,不能直接与Kafka offset比较,也不能跨不相关源实例取数值最大值。

Kafka offset:某个topic分区内的记录位置。消费组提交的通常是下一个待读位置,当前记录零与下一位置一不是同一含义。

至少一次交付:故障恢复可能重复投递。本文用数据库内去重和条件更新处理重复,不称为端到端恰好一次。

幂等:重复相同操作不改变结果。必须明确操作身份和持久化边界;一张去重表不自动保证远端副作用幂等。

tombstone:同键空值Kafka记录,用于日志压缩。它不同于带删除信息的Debezium d包络,也不同于投影内deleted标记。

世代:一次投影构建的隔离身份。本实现要求世代固定绑定一个唯一消费组和topic,新建世代不能复用旧组历史。

对账:按明确业务语义比较源与投影。本文通过条件是完整行列表相等,行数与SHA256只是辅助证据。

重建:从权威源和明确输入重新生成派生状态。本文验证隔离全量快照与完整内容,不声称已实现持续写入时生产查询的原子切换。

Schema迁移:字段与文档结构的版本变化。新增源列不会自动为历史投影回填字段,本实验明确执行投影默认值迁移。

恢复窗口:日志、状态与容量允许恢复的范围。任何清理都应与可回放位置和重建策略共同设计。

本书所有数据为合成商品,不执行支付、用户身份认证或权限撤回。单broker、单分区与同机容器实验不证明多节点高可用、断电持久性或跨机房容灾。