Gunakan Kafka sebagai Antrian Pesan Milvus

Apache Kafka adalah salah satu backend antrian pesan (WAL) yang didukung oleh Milvus. Pada Milvus 3.x, Woodpecker merupakan antrian pesan default; Kafka tetap didukung sepenuhnya bagi pengguna yang lebih memilihnya. Kafka terutama digunakan bersama Milvus Distributed (kluster); sementara penerapan standalone umumnya menggunakan Woodpecker yang tertanam atau RocksMQ.

Kompatibilitas versi

  • Milvus hanya mendukung Kafka versi 2.x dan 3.x.
  • Kafka dikonfigurasi untuk Milvus Distributed (kluster) melalui Helm atau Milvus Operator.

Deploy kluster Milvus dengan Kafka menggunakan Helm

Instal dan konfigurasikan

Untuk menggunakan layanan Kafka eksternal, nonaktifkan Pulsar yang disertakan dan aktifkan opsi " externalKafka " dalam pengaturan override di ` values.yaml `, lalu instal Milvus dengan konfigurasi tersebut:

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

Untuk detail otentikasi SASL/SSL, lihat Menghubungkan ke Kafka dengan SASL/SSL.

Hapus

helm uninstall my-release

Deploy kluster Milvus dengan Kafka menggunakan Milvus Operator

Dengan Milvus Operator, atur " spec.dependencies.msgStreamType: "kafka" " dan konfigurasikan Kafka di bawah " spec.dependencies.kafka " (hanya untuk kluster). " kafka " mendukung " external " dan " inCluster".

Kafka Eksternal

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"

Konfigurasi SASL didukung di Milvus Operator v0.8.5 atau yang lebih baru.

Kafka Internal (dalam kluster)

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: {}

Terapkan konfigurasi (dengan asumsi berkasnya adalah milvuscluster.yaml):

kubectl apply -f milvuscluster.yaml

Hapus Instalasi

kubectl delete milvus my-release

Catatan

  • Meningkatkan versi dari 2.5.x ke 2.6.x: Batasan Antrian Pesan: Saat meningkatkan versi ke Milvus v3.0.0, Anda harus mempertahankan pilihan antrian pesan Anda saat ini. Beralih di antara sistem antrian pesan yang berbeda selama peningkatan versi tidak didukung. Dukungan untuk mengubah sistem antrian pesan akan tersedia di versi mendatang. Jika Anda menjalankan Kafka dan ingin tetap menggunakannya, jangan ubah antrian pesan selama proses peningkatan versi.
  • Hanya Kafka 2.x dan 3.x yang didukung.
  • Untuk konektivitas SASL/SSL, lihat Menghubungkan ke Kafka dengan SASL/SSL.

Langkah Selanjutnya