• Sobre a Milvus
  • Começar
  • Conceitos
  • Guia do Utilizador
  • Importação de dados
  • Ferramentas de IA
  • Guia de Administração
  • Ferramentas
  • Integrações
  • Tutoriais
  • Perguntas frequentes
  • API Reference

Utilizar o Pulsar como fila de mensagens do Milvus

O Apache Pulsar é um dos backends de fila de mensagens (WAL) suportados pelo Milvus. No Milvus 3.x, o Woodpecker é a fila de mensagens predefinida; o Pulsar continua a ser totalmente suportado para os utilizadores que o preferirem. O Pulsar é utilizado principalmente com o Milvus Distributed (cluster); as implementações autónomas utilizam normalmente o Woodpecker incorporado ou o RocksMQ.

Compatibilidade de versões

Versão do MilvusVersão do Pulsar suportadaPadrão
2.5.x e posterioresPulsar v3 (recomendado) ou Pulsar v2Pulsar v3 (através do Helm / Milvus Operator)
2.4.x e anterioresPulsar v2Pulsar v2

Desde o Milvus 2.5, o gráfico Helm do Milvus e o Milvus Operator implementam o Pulsar v3 por predefinição; o Pulsar v2 continua a ser compatível. Consulte Atualizar o Pulsar da v2 para a v3 e Continuar a utilizar o Pulsar v2.

Implementar um cluster Milvus com o Pulsar utilizando o Helm

Instalar

Para implementar um cluster Milvus que utilize o Pulsar incluído (em vez do Woodpecker), instale o gráfico Helm com o Streaming Node ativado:

helm install my-release zilliztech/milvus \
  --set image.all.tag=v3.0.1 \
  --set pulsarv3.enabled=true \
  --set woodpecker.enabled=false \
  --set streaming.enabled=true \
  --set indexNode.enabled=false

No Kubernetes v1.25 e versões posteriores, se enfrentar problemas com a API do PodDisruptionBudget (PDB) decorrentes do sub-chart do Pulsar incluído, desative as políticas de PDB do Pulsar:

helm install my-release zilliztech/milvus \
  --set pulsar.bookkeeper.pdb.usePolicy=false \
  --set pulsar.broker.pdb.usePolicy=false \
  --set pulsar.proxy.pdb.usePolicy=false \
  --set pulsar.zookeeper.pdb.usePolicy=false

Configurar

Para ligar o Milvus a um serviço Pulsar externo, desative o Pulsar incluído e ative o « externalPulsar » numa substituição do « values.yaml »:

pulsarv3:
  enabled: false
externalPulsar:
  enabled: true
  host: <your_pulsar_host>
  port: 6650
  maxMessageSize: "5242880"  # 5 MB, maximum size of each message
  tenant: public
  namespace: default
helm install my-release zilliztech/milvus -f values.yaml

Desinstalar

helm uninstall my-release

Se utilizou o Pulsar incluído e pretende remover os seus dados persistentes, elimine os PVCs do Pulsar (denominados « my-release-pulsarv3-* »):

kubectl get pvc | grep my-release-pulsarv3
kubectl delete pvc <pulsar-pvc-name> ...

Implementar um cluster Milvus com o Pulsar utilizando o Milvus Operator

Com o Milvus Operator, configure o Pulsar em « spec.dependencies.pulsar » (suportado apenas para clusters Milvus). O « pulsar » suporta « external » e « inCluster ».

Pulsar externo

apiVersion: milvus.io/v1alpha1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  dependencies:
    pulsar:
      external: true
      endpoints:
      - 192.168.1.1:6650
  components: {}
  config: {}

Pulsar interno (no cluster)

apiVersion: milvus.io/v1alpha1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  dependencies:
    pulsar:
      inCluster:
        values:
          components:
            autorecovery: false
          zookeeper:
            replicaCount: 1
          bookkeeper:
            replicaCount: 1
          broker:
            replicaCount: 1
            configData:
              autoSkipNonRecoverableData: "true"
              managedLedgerDefaultEnsembleSize: "1"
              managedLedgerDefaultWriteQuorum: "1"
              managedLedgerDefaultAckQuorum: "1"
          proxy:
            replicaCount: 1
  components: {}
  config: {}

Aplique a configuração (partindo do princípio de que o ficheiro é milvuscluster.yaml):

kubectl apply -f milvuscluster.yaml

Desinstalar

kubectl delete milvus my-release

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. Não é suportada a mudança entre diferentes sistemas de fila de mensagens durante a atualização. O suporte à alteração de sistemas de fila de mensagens estará disponível em versões futuras. Se estiver a utilizar o Pulsar e pretender mantê-lo, não altere a fila de mensagens durante a atualização.
  • Pulsar v2 → v3: consulte Atualizar o Pulsar da v2 para a v3; para permanecer na v2, consulte Continuar a utilizar o Pulsar v2.

Próximos passos