Milvus 源码学习系列 | 第 21 章:Replication 与 CDC:多集群数据复制源码导读
上一章我们讲了删除、TTL、可见性和 Compaction。这些机制都围绕一个核心事实展开:Milvus 的写入状态以 WAL 为源头。Insert、Delete、DDL、DCL、TimeTick、Flush、事务消息,都会进入 WAL 或由 WAL 系统生成。到了第 21 章,我们把视角从单个集群扩展到多个集群:如果一个 Milvus 集群的 WAL 已经记录了所有写入, 能不能把这些 WAL 消息复制到另一个 Milvus 集群, 让另一个集群逐步得到同样的数据和元数据状态?这就是本章要讲的 Replication 与 CDC。这里的 CDC 可以理解为 Change Data Capture,也就是捕获源集群里的变更消息,并把它们传给目标集群。Milvus 当前这套复制模型不是传统数据库的双主写入,也不是多个集群任意互相同步。它采用的是一个更受控的模型:一个 PRIMARY 集群负责接受写入。 一个或多个 SECONDARY 集群接收 PRIMARY 的 WAL 消息。 复制按 PChannel 维度进行。本章会从源码角度拆解这条链路:UpdateRepli