milvus | 第 3 章:Milvus 源码地图与阅读方法

📅 2026/7/7 15:33:01 👁️ 阅读次数 📝 编程学习
milvus | 第 3 章:Milvus 源码地图与阅读方法

本章目标

读完本章,你应该能够回答下面几个问题:

  1. Milvus 顶层目录分别负责什么。
  2. Go 服务层、C++ 执行层、Rust Tantivy 绑定、Proto 接口分别放在哪里。
  3. cmdinternalpkgclienttests应该按什么顺序阅读。
  4. 如何从一个用户 API 追到 Proxy、Coord、Node 和底层执行引擎。
  5. 如何用rggo test、日志和测试文件辅助源码阅读。

前两章我们已经知道 Milvus 是什么,以及如何把它运行起来。从本章开始,我们进入真正的源码阅读阶段。阅读大型项目最怕“一打开仓库就迷路”,所以本章先建立源码地图。

1. 先记住一条主线

Milvus 源码很多,但初学者不应该从目录树一层层背起。更好的方式是先记住一条用户请求主线:

Client SDK -> Proxy -> RootCoord / DataCoord / QueryCoord / StreamingCoord -> DataNode / QueryNode / StreamingNode -> internal/core C++ 执行层 -> 对