Utilisation de RocksMQ comme file d'attente de messages Milvus
RocksMQ est une file d’attente de messages intégrée (WAL) fournie avec Milvus, disponible uniquement pour Milvus Standalone. Il s’agissait de la file d’attente de messages par défaut dans les versions antérieures de Milvus ; dans Milvus 3.x, Milvus Standalone utilise par défaut Woodpecker intégré.
Compatibilité des versions
- Version autonome uniquement — RocksMQ n’ est pas pris en charge dans Milvus Distributed (cluster). Consultez la matrice de prise en charge des files d’attente de messages.
- RocksMQ est fourni avec Milvus ; il n’y a donc pas de version distincte à installer.
- Il s'agissait de la file d'attente de messages par défaut en mode autonome dans les versions antérieures de Milvus ; elle est remplacée par Woodpecker intégré dans Milvus 3.x.
Déployer Milvus Standalone avec RocksMQ à l’aide de Docker
Installation
Suivez les instructions de la section « Exécuter Milvus dans Docker ». Dans Milvus 3.x, Woodpecker est la file d’attente par défaut en mode autonome ; vous devez donc explicitement basculer le type de file d’attente vers RocksMQ. Le script d’amorçage crée une nouvelle instance user.yaml lors du premier démarrage start; configurez donc le type après ce premier démarrage, puis exécutez restart pour appliquer la modification (la commande restart préserve l’instance 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 ation de cette manière est destinée à une toute nouvelle instance (ne contenant encore aucune collection). Pour modifier la file d'attente de messages d'une instance contenant déjà des données, suivez plutôt la procédure de basculement.
Configuration
Pour optimiser RocksMQ, ajoutez une section « rocksmq » au fichier « user.yaml » et redémarrez le service :
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
Désinstallation
bash standalone_embed.sh stop
bash standalone_embed.sh delete
Remarques
- Mise à niveau de la version 2.5.x vers la version 2.6.x : limitations des files d’attente de messages: lors de la mise à niveau vers Milvus v3.0.0, vous devez conserver votre choix actuel de file d’attente de messages. Le passage d’un système de file d’attente de messages à un autre pendant la mise à niveau n’est pas pris en charge. La prise en charge du changement de système de file d’attente de messages sera disponible dans les versions futures.
La version 2.6.x définissant Woodpecker comme valeur par défaut pour le mode autonome, fixez la valeur «
mq.type: rocksmq» dans votre fichier «user.yaml» avant la mise à niveau si vous souhaitez conserver RocksMQ. - Pour modifier la file d’attente de messages d’une instance en cours d’exécution, consultez la section « Passer de RocksMQ à Woodpecker ».