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.