Переключение очереди сообщений
В данном руководстве описано, как переключить очередь сообщений (MQ) существующего развертывания Milvus с Woodpecker на другую очередь сообщений в режиме онлайн и без простоев.
Эта функция находится в стадии подготовки к выпуску и может быть изменена. Если вы хотите опробовать эту функцию или у вас есть вопросы, обратитесь в службу поддержки Milvus.
Необходимые условия
- Функция «Смена MQ» доступна в Milvus 3.0 и более поздних версиях. Перед использованием обновите свой экземпляр Milvus до версии 3.0 или более поздней — в более ранних версиях эта функция недоступна.
- Инстанс работает корректно.
Область применения
В данном руководстве рассматривается только переключение между Woodpecker и другой очередью сообщений. Прямое переключение между Pulsar и Kafka не входит в сферу применения данного руководства.
- Переключение между RocksMQ и Woodpecker — автономная версия Milvus (Docker Compose)
- Переключение между Pulsar и Woodpecker — кластер Milvus (Helm / Milvus Operator)
- Переключение между Kafka и Woodpecker — кластер Milvus (Helm / Milvus Operator)
Общий рабочий процесс
- Убедитесь, что экземпляр Milvus работает корректно.
- Уточните тип исходного и целевого MQ.
- Отразите настройки доступа целевого MQ в конфигурации Milvus, не изменяя значение параметра «
mqType». - Запустите переключение, вызвав API-интерфейс WAL alter в MixCoord.
- Проследите за журналами, чтобы убедиться, что переключение завершилось.
Перед переключением убедитесь, что целевой MQ не содержит тем с именами, совпадающими с именами, используемыми текущим экземпляром Milvus. Это особенно важно, если целевой MQ ранее использовался другим экземпляром Milvus, поскольку конфликтующие имена тем могут привести к непредвиденному поведению.
Матрица поддержки
| Исходный MQ | Целевой MQ | Развертывание | Статус |
|---|---|---|---|
| RocksMQ | Woodpecker (локальный/MinIO) | Автономный (Docker Compose) | Поддерживается |
| Woodpecker (локальный/MinIO) | RocksMQ | Автономный (Docker Compose) | Поддерживается |
| Pulsar (встроенный/внешний) | Woodpecker (MinIO) | Кластер (Helm / Operator) | Поддерживается |
| Woodpecker (MinIO) | Pulsar (внешний) | Кластер (Helm / Operator) | Поддерживается |
| Kafka (встроенный/внешний) | Woodpecker (MinIO) | Кластер (Helm / Operator) | Поддерживается |
| Woodpecker (MinIO) | Kafka (внешний) | Кластер (Helm / Operator) | Поддерживается |
| Woodpecker MinIO | Woodpecker локальный (или наоборот) | любой | Не поддерживается |
Старайтесь избегать многократного переключения между типами MQ. Если переключение все же необходимо, обязательно очищайте связанные данные перед каждым переключением — остаточные данные могут привести к непредвиденному поведению.