Utilizar o RocksMQ como fila de mensagens do Milvus
O RocksMQ é uma fila de mensagens incorporada (WAL) incluída no Milvus, disponível apenas para o Milvus Standalone. Era a fila de mensagens padrão do Milvus Standalone nas versões anteriores; no Milvus 3.x, o Milvus Standalone utiliza o Woodpecker incorporado por predefinição.
Compatibilidade de versões
- Apenas Standalone — O RocksMQ não é suportado no Milvus Distributed (cluster). Consulte a matriz de suporte à fila de mensagens.
- O RocksMQ é fornecido com o Milvus, pelo que não é necessário instalar uma versão separada.
- Era a fila de mensagens autónoma predefinida nas versões anteriores do Milvus e foi substituída pelo Woodpecker incorporado no Milvus 3.x.
Implementar o Milvus Standalone com o RocksMQ utilizando o Docker
Instalação
Siga as instruções em «Executar o Milvus no Docker». No Milvus 3.x, o padrão para a versão autónoma é o Woodpecker; por isso, altere explicitamente o tipo de fila de mensagens para RocksMQ. O script de inicialização cria um novo ficheiro « user.yaml » na primeira execução ( start), pelo que deve definir o tipo após essa primeira inicialização e, em seguida, executar « restart » para aplicar a alteração (o comando « restart » preserva o conteúdo do ficheiro « 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 desta forma destina-se a uma instância totalmente nova (ainda sem coleções). Para alterar a fila de mensagens de uma instância que já contém dados, siga, em vez disso, o procedimento de mudança.
Configurar
Para ajustar o RocksMQ, adicione uma secção rocksmq ao ficheiro user.yaml e reinicie o serviço:
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
Desinstalar
bash standalone_embed.sh stop
bash standalone_embed.sh delete
Notas
- Atualização da versão 2.5.x para a 2.6.x: Limitações da fila de mensagens: Ao atualizar para o Milvus v3.0.1, deve manter a sua escolha atual de fila de mensagens. A mudança entre diferentes sistemas de filas de mensagens durante a atualização não é suportada. O suporte à alteração de sistemas de filas de mensagens estará disponível em versões futuras.
Como a versão 2.6.x altera a predefinição da versão autónoma para Woodpecker, fixe
mq.type: rocksmqno seu ficheirouser.yamlantes da atualização, caso pretenda manter o RocksMQ. - Para alterar a fila de mensagens de uma instância em execução, consulte «Mudar do RocksMQ para o Woodpecker».