Componentes principales
Un clúster Milvus consta de cinco componentes principales y tres dependencias de terceros. Cada componente puede desplegarse independientemente en Kubernetes:
Componentes de Milvus
- Coordinador: puede habilitarse el modo maestro-esclavo para proporcionar alta disponibilidad.
- Proxy: uno o más por clúster
- Nodo de Streaming: uno o más por cluster
- Nodo de consulta: uno o más por clúster
- Nodo de datos: uno o varios por clúster
Dependencias de terceros
- Meta Store: Almacena metadatos para varios componentes en el milvus, por ejemplo, etcd.
- Almacenamiento de objetos: Responsable de la persistencia de datos de archivos grandes en el milvus, como archivos de índice y de registro binario, p. ej. S3
- Almacenamiento WAL: Proporciona el servicio Write-Ahead Log (WAL) para el milvus, por ejemplo, woodpecker.
- En el modo de disco cero de woodpecker, WAL utiliza directamente el almacenamiento de objetos y el metaalmacenamiento sin otro despliegue, lo que reduce las dependencias de terceros.
Modos de despliegue de Milvus
Existen dos modos para ejecutar Milvus:
Independiente
Una única instancia de Milvus que ejecuta todos los componentes en un proceso, lo que es adecuado para pequeños conjuntos de datos y baja carga de trabajo. Además, en modo autónomo, se puede elegir una implementación WAL más simple, como woodpecker y rocksmq, para eliminar el requisito de dependencias de almacenamiento WAL de terceros.
Arquitectura autónoma
Actualmente, no puede realizar una actualización en línea de una instancia Milvus autónoma a un cluster Milvus, incluso si el backend de almacenamiento WAL soporta el modo cluster.
Cluster
Un modo de despliegue distribuido de Milvus en el que cada componente se ejecuta de forma independiente y puede escalarse para obtener elasticidad. Esta configuración es adecuada para grandes conjuntos de datos y escenarios de alta carga.
Arquitectura_distribuida
Lo que sigue
- Lea Computing/Storage Disaggregation para comprender el mecanismo y el principio de diseño de Milvus.