Verwenden Sie RocksMQ als Milvus-Nachrichtenwarteschlange
RocksMQ ist eine in Milvus integrierte Nachrichtenwarteschlange (WAL), die nur für Milvus Standalone verfügbar ist. In früheren Milvus-Versionen war sie die standardmäßige Standalone-Nachrichtenwarteschlange; in Milvus 3.x verwendet Milvus Standalone standardmäßig das integrierte Woodpecker.
Versionskompatibilität
- Nur Standalone – RocksMQ wird in Milvus Distributed (Cluster) nicht unterstützt. Siehe die Unterstützungsmatrix für Nachrichtenwarteschlangen.
- RocksMQ ist im Lieferumfang von Milvus enthalten, es muss also keine separate Version installiert werden.
- In früheren Milvus-Versionen war es die Standard-Standalone-Nachrichtenwarteschlange; in Milvus 3.x wird es durch den eingebetteten Woodpecker abgelöst.
Milvus Standalone mit RocksMQ über Docker bereitstellen
Installation
Befolgen Sie die Anleitung „Milvus in Docker ausführen“. In Milvus 3.x ist Woodpecker die Standard-Standalone-Lösung; ändern Sie daher den Typ der Nachrichtenwarteschlange explizit auf RocksMQ. Das Bootstrap-Skript schreibt beim ersten Start eine neue Datei „ user.yaml “ unter „ start “; legen Sie den Typ daher nach diesem ersten Start fest und führen Sie anschließend „ restart “ aus, um die Änderung zu übernehmen (ein „ restart “ bewahrt „ user.yaml “ bei):
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 “ auf diese Weise ist für eine brandneue Instanz gedacht (noch keine Sammlungen). Um die Nachrichtenwarteschlange einer Instanz zu ändern, die bereits Daten enthält, befolgen Sie stattdessen die Umschaltprozedur.
Konfigurieren
Um RocksMQ anzupassen, fügen Sie einen Abschnitt „ rocksmq “ in die Datei „ user.yaml “ ein und starten Sie den Dienst neu:
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
Deinstallation
bash standalone_embed.sh stop
bash standalone_embed.sh delete
Hinweise
- Upgrade von 2.5.x auf 2.6.x: Einschränkungen bei der Nachrichtenwarteschlange: Beim Upgrade auf Milvus v3.0.0 müssen Sie Ihre aktuelle Auswahl der Nachrichtenwarteschlange beibehalten. Ein Wechsel zwischen verschiedenen Nachrichtenwarteschlangensystemen während des Upgrades wird nicht unterstützt. Die Unterstützung für den Wechsel des Nachrichtenwarteschlangensystems wird in zukünftigen Versionen verfügbar sein.
Da in 2.6.x die Standard-Standalone-Einstellung auf „Woodpecker“ geändert wird, müssen Sie vor dem Upgrade „
mq.type: rocksmq“ in Ihrer Datei „user.yaml“ festlegen, wenn Sie „RocksMQ“ beibehalten möchten. - Informationen zum Ändern der Nachrichtenwarteschlange einer laufenden Instanz finden Sie unter „Wechsel von RocksMQ zu Woodpecker“.