Componenti principali
Un cluster Milvus comprende cinque componenti principali e tre dipendenze di terze parti. Ogni componente può essere distribuito indipendentemente su Kubernetes:
Componenti di Milvus
- Coordinatore: la modalità master-slave può essere abilitata per fornire un'alta disponibilità .
- Proxy: uno o più per cluster
- Nodo di streaming: uno o più per cluster
- Nodo di interrogazione: uno o più per cluster
- Nodo dati: uno o più per cluster
Dipendenze di terze parti
- Meta Store: Memorizza i metadati per i vari componenti del milvus, ad esempio etcd.
- Object Storage: Responsabile della persistenza dei dati dei file di grandi dimensioni nel milvus, come i file di indice e di log binari, ad esempio S3.
- Archiviazione WAL: Fornisce il servizio Write-Ahead Log (WAL) per il milvus, ad esempio woodpecker.
- Nella modalità woodpecker zero-disk, WAL utilizza direttamente lo storage di oggetti e il meta storage senza altre implementazioni, riducendo le dipendenze di terze parti.
Modalità di distribuzione di Milvus
Esistono due modalità di esecuzione di Milvus:
Standalone
Una singola istanza di Milvus che esegue tutti i componenti in un unico processo, adatta a piccoli insiemi di dati e a un carico di lavoro ridotto. Inoltre, in modalità standalone, è possibile scegliere un'implementazione WAL più semplice, come woodpecker e rocksmq, per eliminare la necessità di dipendenze da storage WAL di terze parti.
Architettura standalone
Attualmente non è possibile eseguire un aggiornamento online da un'istanza Milvus standalone a un cluster Milvus, anche se il backend di archiviazione WAL supporta la modalità cluster.
Cluster
Una modalità di distribuzione distribuita di Milvus in cui ogni componente funziona in modo indipendente e può essere scalato per elasticità . Questa configurazione è adatta per grandi insiemi di dati e scenari ad alto carico.
Architettura_distribuita
Cosa c'è dopo
- Leggete Disaggregazione di calcolo/stoccaggio per capire il meccanismo e il principio di progettazione di Milvus.