Utilizzare RocksMQ come coda di messaggi di Milvus
RocksMQ è una coda di messaggi incorporata (WAL) inclusa in Milvus, disponibile solo per Milvus Standalone. Nelle versioni precedenti di Milvus era la coda di messaggi predefinita per la versione standalone; in Milvus 3.x, Milvus Standalone utilizza Woodpecker incorporato come impostazione predefinita.
Compatibilità delle versioni
- Solo Standalone — RocksMQ non è supportato in Milvus Distributed (cluster). Consultare la matrice di supporto delle code di messaggi.
- RocksMQ è fornito insieme a Milvus, quindi non è necessario installare una versione separata.
- Era la coda di messaggi predefinita per la versione standalone nelle versioni precedenti di Milvus ed è stata sostituita da Woodpecker integrato in Milvus 3.x.
Distribuire Milvus Standalone con RocksMQ utilizzando Docker
Installazione
Seguire le istruzioni riportate in "Eseguire Milvus in Docker". In Milvus 3.x, l’impostazione predefinita per la modalità standalone è Woodpecker, pertanto è necessario impostare esplicitamente il tipo di coda di messaggi su RocksMQ. Lo script di avvio crea un nuovo file ` user.yaml ` al primo avvio di ` start`, quindi impostare il tipo dopo tale primo avvio e successivamente eseguire ` restart ` per applicare la modifica (un comando ` restart ` mantiene il contenuto di ` user.yaml`):
mkdir milvus-rocksmq && cd milvus-rocksmq
curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh
# 1. First start — boots the container and writes a default user.yaml
bash standalone_embed.sh start
# 2. Set the message queue to RocksMQ
cat > user.yaml <<'EOF'
mq:
type: rocksmq
EOF
# 3. Restart to apply the change
bash standalone_embed.sh restart
mq.type in questo modo è pensata per un'istanza nuova di zecca (senza collezioni). Per cambiare la coda dei messaggi di un'istanza che contiene già dati, segui invece la procedura di cambio.
Configurazione
Per ottimizzare RocksMQ, aggiungere una sezione rocksmq al file user.yaml e riavviare il servizio:
mq:
type: rocksmq
rocksmq:
path: /var/lib/milvus/rdb_data # where messages are stored
lrucacheratio: 0.06 # rocksdb cache memory ratio
rocksmqPageSize: 67108864 # 64 MB, size of each message page
retentionTimeInMinutes: 4320 # 3 days
retentionSizeInMB: 8192 # 8 GB
compactionInterval: 86400 # 1 day, trigger rocksdb compaction
compressionTypes: [0, 0, 7, 7, 7]
bash standalone_embed.sh restart
Disinstallazione
bash standalone_embed.sh stop
bash standalone_embed.sh delete
Note
- Aggiornamento dalla versione 2.5.x alla 2.6.x: Limitazioni relative alle code di messaggi: durante l'aggiornamento a Milvus v3.0.1, è necessario mantenere la scelta attuale della coda di messaggi. Il passaggio da un sistema di code di messaggi all'altro durante l'aggiornamento non è supportato. Il supporto per la modifica dei sistemi di code di messaggi sarà disponibile nelle versioni future.
Poiché la versione 2.6.x imposta Woodpecker come predefinito per l’installazione standalone, se si desidera mantenere RocksMQ, è necessario fissare
mq.type: rocksmqnel fileuser.yamlprima di procedere all’aggiornamento. - Per modificare la coda dei messaggi di un’istanza in esecuzione, consultare Passare da RocksMQ a Woodpecker.