• Informazioni su Milvus
  • Inizia
  • Concetti
  • Guida per l'utente
  • Importazione dei dati
  • Strumenti di intelligenza artificiale
  • Guida all'amministrazione
  • Strumenti
  • Integrazioni
  • Tutorial
  • Domande frequenti
  • API Reference

Utilizzare Kafka come coda di messaggi di Milvus

Apache Kafka è uno dei backend per le code di messaggi (WAL) supportati da Milvus. In Milvus 3.x, Woodpecker è la coda di messaggi predefinita; Kafka rimane pienamente supportato per gli utenti che lo preferiscono. Kafka viene utilizzato principalmente con Milvus Distributed (cluster); le distribuzioni standalone utilizzano in genere Woodpecker integrato o RocksMQ.

Compatibilità delle versioni

  • Milvus supporta solo Kafka 2.x e 3.x.
  • Kafka viene configurato per Milvus Distributed (cluster) tramite Helm o Milvus Operator.

Distribuzione di un cluster Milvus con Kafka utilizzando Helm

Installazione e configurazione

Per utilizzare un servizio Kafka esterno, disabilitare Pulsar integrato e abilitare externalKafka in un override dell'values.yaml, quindi installare Milvus con esso:

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

Per i dettagli sull’autenticazione SASL/SSL, consultare Connettersi a Kafka con SASL/SSL.

Disinstallazione

helm uninstall my-release

Distribuire un cluster Milvus con Kafka utilizzando Milvus Operator

Con Milvus Operator, impostare spec.dependencies.msgStreamType: "kafka" e configurare Kafka in spec.dependencies.kafka (solo cluster). kafka supporta external e inCluster.

Kafka esterno

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"

Le configurazioni SASL sono supportate in Milvus Operator v0.8.5 o versioni successive.

Kafka interno (all’interno del 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: {}

Applicare la configurazione (supponendo che il file sia milvuscluster.yaml):

kubectl apply -f milvuscluster.yaml

Disinstallazione

kubectl delete milvus my-release

Note

  • Aggiornamento dalla versione 2.5.x alla 2.6.x: limitazioni relative alle code dei messaggi: durante l’aggiornamento a Milvus v3.0.1, è necessario mantenere la scelta attuale della coda dei messaggi. Il passaggio da un sistema di code dei messaggi a un altro durante l’aggiornamento non è supportato. Il supporto per la modifica dei sistemi di code dei messaggi sarà disponibile nelle versioni future. Se si utilizza Kafka e si desidera mantenerlo, non modificare la coda dei messaggi durante l'aggiornamento.
  • Sono supportate solo le versioni 2.x e 3.x di Kafka.
  • Per la connettività SASL/SSL, consultare Connettersi a Kafka con SASL/SSL.

Prossimi passi