Milvus
Zilliz
Home
  • Guia de Administração
  • Home
  • Docs
  • Guia de Administração

  • Tipo de MQ de comutação

  • Milvus Comutador autónomo Tipo MQ

Trocar o tipo de MQ para o Milvus Standalone

Este tópico descreve como mudar o tipo de fila de mensagens (MQ) para uma implantação autônoma do Milvus existente. O Milvus suporta a troca de MQ online sem tempo de inatividade.

Este recurso está pendente de lançamento e está sujeito a alterações. Entre em contato com o suporte do Milvus se quiser experimentar ou tiver alguma dúvida.

Pré-requisitos

  • Uma instância Milvus Standalone em execução instalada via Docker ou Docker Compose.
  • A instância do Milvus foi atualizada para a versão mais recente que suporta esse recurso do Switch MQ.

Fluxo de trabalho geral

O fluxo de trabalho geral para alternar o tipo de MQ é o seguinte:

  1. Garantir que a instância do Milvus esteja funcionando corretamente.
  2. Confirmar o tipo de MQ de origem e o tipo de MQ de destino.
  3. Configurar as definições de acesso do MQ de destino na configuração do Milvus sem alterar o valor mqType.
  4. Acionar a troca chamando a API de alteração do WAL.
  5. Monitorar os logs para verificar se a troca foi concluída com sucesso.

Antes da troca, certifique-se de que o MQ de destino não contém tópicos com os mesmos nomes daqueles usados pela instância atual do Milvus. Isso é especialmente importante se o serviço MQ de destino tiver sido usado anteriormente por outra instância do Milvus, pois nomes de tópicos conflitantes podem levar a um comportamento inesperado.

Mudança do RocksMQ para o Woodpecker (Armazenamento local)

Este procedimento se aplica às implantações do Milvus Standalone Docker que usam o RocksMQ por padrão.

Etapa 1: verificar se a instância do Milvus está em execução

Verifique se a instância do Docker autônomo do Milvus está funcionando corretamente. Você pode verificar isso criando uma coleção de teste, inserindo dados e executando uma consulta.

Etapa 2: Configurar o Woodpecker com armazenamento local

Atualize a configuração do Milvus para adicionar as configurações do Woodpecker sem alterar o valor mqType. Crie ou actualize o ficheiro user.yaml com o seguinte conteúdo:

woodpecker:
  storage:
    type: local

Em seguida, reinicie a instância do Milvus para aplicar a configuração:

bash standalone_embed.sh restart

Etapa 3: Executar a troca de MQ

Execute o seguinte comando para ativar a mudança para o Woodpecker:

curl -X POST http://<mixcoord_addr>:9091/management/wal/alter \
  -H "Content-Type: application/json" \
  -d '{"target_wal_name": "woodpecker"}'

Substitua <mixcoord_addr> pelo endereço real do seu serviço MixCoord (por defeito, localhost para implementações autónomas).

Etapa 4: verificar se a troca foi concluída

O processo de troca é concluído automaticamente. Monitore os logs do Milvus em busca das seguintes mensagens-chave para confirmar que a troca foi concluída:

WAL switch success: <MQ1> switch to <MQ2> finish, re-opening required
AlterWAL broadcast message acknowledged by all vchannels
successfully updated mq.type configuration in etcd

Nas mensagens de registo acima, <MQ1> é o tipo de MQ de origem (rocksmq), e <MQ2> é o tipo de MQ de destino (woodpecker).

  • A primeira mensagem indica que a troca do WAL da origem para o destino foi concluída.
  • A segunda mensagem indica que todos os canais físicos foram trocados.
  • A terceira mensagem indica que a configuração do mq.type foi atualizada no etcd.

Mudança do RocksMQ para o Woodpecker (armazenamento MinIO)

Este procedimento se aplica às implantações do Milvus Standalone Docker Compose.

A partir do Milvus v2.6, o docker-compose.yaml padrão já declara mqType como Woodpecker. A menos que tenha modificado a configuração padrão ou atualizado da v2.5, este procedimento pode não ser necessário.

Passo 1: Verificar se a instância do Milvus está a funcionar

Verifique se a instância do Milvus Standalone Docker Compose está funcionando corretamente.

Etapa 2: (Opcional) Verificar a configuração do Woodpecker

A configuração padrão do Milvus já define o tipo de armazenamento do Woodpecker como MinIO, portanto, nenhuma configuração adicional é necessária na maioria dos casos.

No entanto, se tiver personalizado anteriormente a configuração do Woodpecker, é necessário garantir que woodpecker.storage.type esteja definido como minio. Crie ou actualize o ficheiro user.yaml com o seguinte conteúdo:

woodpecker:
  storage:
    type: minio

Em seguida, reinicie a instância do Milvus para aplicar a configuração:

docker compose down
docker compose up -d

Etapa 3: Executar a troca de MQ

Execute o seguinte comando para ativar a mudança para o Woodpecker:

curl -X POST http://<mixcoord_addr>:9091/management/wal/alter \
  -H "Content-Type: application/json" \
  -d '{"target_wal_name": "woodpecker"}'

Substitua <mixcoord_addr> pelo endereço real do seu serviço MixCoord (por defeito, localhost para implementações autónomas).

Etapa 4: verificar se a troca foi concluída

O processo de troca é concluído automaticamente. Monitore os logs do Milvus em busca das seguintes mensagens-chave para confirmar que a troca foi concluída:

WAL switch success: <MQ1> switch to <MQ2> finish, re-opening required
AlterWAL broadcast message acknowledged by all vchannels
successfully updated mq.type configuration in etcd

Nas mensagens de registo acima, <MQ1> é o tipo de MQ de origem (rocksmq), e <MQ2> é o tipo de MQ de destino (woodpecker).

  • A primeira mensagem indica que a troca do WAL da origem para o destino foi concluída.
  • A segunda mensagem indica que todos os canais físicos foram trocados.
  • A terceira mensagem indica que a configuração do mq.type foi actualizada no etcd.