Использование RocksMQ в качестве очереди сообщений Milvus
RocksMQ — это встроенная очередь сообщений (WAL), поставляемая в комплекте с Milvus и доступная только для Milvus Standalone. В более ранних версиях Milvus она была автономной очередью сообщений по умолчанию; в Milvus 3.x Milvus Standalone по умолчанию использует встроенный Woodpecker.
Совместимость версий
- Только для автономной версии — RocksMQ не поддерживается в Milvus Distributed (кластер). См. матрицу поддержки очередей сообщений.
- RocksMQ поставляется в составе Milvus, поэтому отдельно устанавливать его не нужно.
- В более ранних версиях Milvus она являлась стандартной автономной очередью сообщений, а в Milvus 3.x её заменила встроенная Woodpecker.
Развертывание автономной версии Milvus с RocksMQ с помощью Docker
Установка
Следуйте инструкциям из раздела «Запуск Milvus в Docker». В Milvus 3.x автономным вариантом по умолчанию является Woodpecker, поэтому явно переключите тип очереди сообщений на RocksMQ. Скрипт начальной настройки записывает новый файл user.yaml при первом запуске start, поэтому установите тип после этого первого запуска, а затем выполните команду restart для применения изменений (команда restart сохраняет файл 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 таким образом предназначено для совершенно нового экземпляра (в котором ещё нет коллекций). Чтобы изменить очередь сообщений экземпляра, в котором уже хранятся данные, вместо этого следуйте процедуре переключения.
Настройка
Для настройки RocksMQ добавьте раздел rocksmq в файл user.yaml и перезапустите службу:
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
Удаление
bash standalone_embed.sh stop
bash standalone_embed.sh delete
Примечания
- Обновление с версии 2.5.x до 2.6.x: Ограничения, связанные с очередями сообщений: при обновлении до Milvus v3.0.0 необходимо сохранить текущий выбор системы очередей сообщений. Переключение между различными системами очередей сообщений во время обновления не поддерживается. Поддержка смены систем очередей сообщений будет доступна в будущих версиях.
Поскольку в версии 2.6.x по умолчанию для автономного режима используется Woodpecker, перед обновлением зафиксируйте значение
mq.type: rocksmqв файлеuser.yaml, если вы хотите сохранить RocksMQ. - Чтобы изменить систему очередей сообщений для запущенного экземпляра, см. раздел «Переход с RocksMQ на Woodpecker».