• 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 Kafka como fila de mensagens do Milvus

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

Compatibilidade de versões

  • O Milvus suporta apenas o Kafka 2.x e 3.x.
  • O Kafka é configurado para o Milvus Distributed (cluster) através do Helm ou do Milvus Operator.

Implementar um cluster Milvus com o Kafka utilizando o Helm

Instalar e configurar

Para utilizar um serviço Kafka externo, desative o Pulsar integrado e ative o externalKafka numa substituição do ficheiro « values.yaml »; em seguida, instale o Milvus com essa configuração:

pulsarv3:
  enabled: false
externalKafka:
  enabled: true
  brokerList: <your_kafka_address>:<your_kafka_port>
  securityProtocol: SASL_SSL
  sasl:
    mechanisms: PLAIN
    username: ""
    password: ""
helm install my-release zilliztech/milvus -f values.yaml

Para obter detalhes sobre a autenticação SASL/SSL, consulte «Ligar-se ao Kafka com SASL/SSL».

Desinstalar

helm uninstall my-release

Implantar um cluster Milvus com o Kafka utilizando o Milvus Operator

Com o Milvus Operator, defina o « spec.dependencies.msgStreamType: "kafka" » e configure o Kafka em « spec.dependencies.kafka » (apenas no cluster). O « kafka » suporta « external » e « inCluster ».

Kafka externo

apiVersion: milvus.io/v1alpha1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  config:
    kafka:
      # securityProtocol supports: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL
      securityProtocol: PLAINTEXT
      # saslMechanisms supports: PLAIN, SCRAM-SHA-256, SCRAM-SHA-512
      saslMechanisms: PLAIN
      saslUsername: ""
      saslPassword: ""
  dependencies:
    msgStreamType: "kafka"
    kafka:
      external: true
      brokerList:
        - "kafkaBrokerAddr1:9092"
        - "kafkaBrokerAddr2:9092"

As configurações SASL são suportadas no Milvus Operator v0.8.5 ou posterior.

Kafka interno (no cluster)

apiVersion: milvus.io/v1alpha1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  dependencies:
    msgStreamType: "kafka"
    kafka:
      inCluster:
        values: {}  # see https://artifacthub.io/packages/helm/bitnami/kafka
  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. A mudança entre diferentes sistemas de filas de mensagens durante a atualização não é suportada. O suporte à mudança de sistemas de filas de mensagens estará disponível em versões futuras. Se estiver a utilizar o Kafka e pretender mantê-lo, não altere a fila de mensagens durante a atualização.
  • Apenas o Kafka 2.x e 3.x são suportados.
  • Para conectividade SASL/SSL, consulte «Ligar-se ao Kafka com SASL/SSL».

Próximos passos