参考
https://milvus.io/cn/docs/v2.0.x/architecture_overview.md
流程

架构,道的层次去理解,对比,万物本一体
Milvus 采用共享存储架构,存储计算完全分离,计算节点支持横向扩展。
从架构上来看,Milvus 遵循数据流和控制流分离,整体分为了 四个层次,分别为接入层(access layer)、协调服务(coordinator service)、执行节点(worker node)和存储层(storage)。各个层次相互独立,独立扩展和容灾。
1、接入层由一组无状态 proxy 组成,是整个系统的门面,对外提供用户连接的 endpoint。接入层负责验证客户端请求并减少返回结果。
2、协调服务是系统的大脑,负责向执行节点分配任务。它承担的任务包括集群拓扑节点管理、负载均衡、时间戳生成、数据声明和数据管理等。
3、执行节点是系统的四肢,负责完成协调服务下发的指令和 proxy 发起的数据操作语言(DML)命令。由于采取了存储计算分离,执行节点是无状态的,可以配合 Kubernetes 快速实现扩缩容和故障恢复。执行节点分为三种角色:
4、存储服务是系统的骨骼,负责 Milvus 数据的持久化,分为元数据存储(meta store)、消息存储(log broker)和对象存储(object storage)三个部分。

单机版
单机版 Milvus 包括三个组件:
Milvus 负责提供系统的核心功能。
Etcd 是元数据引擎,用于管理 Milvus 内部组件的元数据访问和存储,例如 proxy、index node 等。
MinIO 是存储引擎,负责维护 Milvus 的数据持久化。

分布式版 Milvus
分布式版 Milvus 由八个微服务组件和三个第三方依赖组成,每个微服务组件可使用 Kubernetes 独立部署。
微服务组件
Root coord
Proxy
Query coord
Query node
Index coord
Index node
Data coord
Data node
第三方依赖
etcd 负责存储集群中各组件的元数据信息。
MinIO 负责处理集群中大型文件的数据持久化,如索引文件和全二进制日志文件。
Pulsar 负责管理近期更改操作的日志,输出流式日志及提供日志订阅服务。


363

被折叠的 条评论
为什么被折叠?



