milvus | 第 6 章:组件接口总览与角色分工

📅 2026/7/7 10:45:32 👁️ 阅读次数 📝 编程学习
milvus | 第 6 章:组件接口总览与角色分工

本章目标

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

  1. internal/types/types.go为什么是理解 Milvus 组件边界的第一入口。
  2. Proxy、RootCoord、DataCoord、QueryCoord v2、DataNode、QueryNode v2 分别负责什么。
  3. MixCoord 是什么,它和 RootCoord、DataCoord、QueryCoord、StreamingCoord 的关系是什么。
  4. StreamingCoord、StreamingNode、StreamingClient、WAL backend 如何分工。
  5. Coordinator 和 Node 的区别是什么。
  6. 一个用户请求大致会经过哪些组件。
  7. 后续读源码时,如何判断一个逻辑应该去哪个目录找。

前几章我们已经完成了环境搭建、源码地图、启动流程和配置系统。本章开始正式理解 Milvus 的组件架构。

这一章不会深入某一个 API 的完整实现。它的目标是建立“组件分工表”。后续章节读 Proxy、DDL、写入、查询、索引、Compaction 时,都要反复回到这张表。

1. 先用一句话理解 Milvus 组件架构

Milvus 的服务端组件可以粗略分成三层:

用户入口层 -> Pro