استخدام Kafka كقائمة انتظار الرسائل في Milvus
يعد Apache Kafka أحد الخلفيات الخاصة بقوائم انتظار الرسائل (WAL) التي يدعمها Milvus. في Milvus 3.x، يُعد Woodpecker قائمة انتظار الرسائل الافتراضية؛ ويظل Kafka مدعومًا بالكامل للمستخدمين الذين يفضلونه. يُستخدم Kafka بشكل أساسي مع Milvus Distributed (المجموعة)؛ بينما تستخدم عمليات النشر المستقلة عادةً Woodpecker المدمج أو RocksMQ.
توافق الإصدارات
- يدعم Milvus Kafka 2.x و3.x فقط.
- يتم تكوين Kafka لـ Milvus Distributed (العنقود) عبر Helm أو Milvus Operator.
نشر مجموعة Milvus مع Kafka باستخدام Helm
التثبيت والتكوين
لاستخدام خدمة Kafka خارجية، قم بتعطيل Pulsar المدمج وتمكين externalKafka في تجاوز values.yaml ، ثم قم بتثبيت Milvus باستخدامه:
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
للحصول على تفاصيل مصادقة SASL/SSL، راجع «الاتصال بـ Kafka باستخدام SASL/SSL».
إلغاء التثبيت
helm uninstall my-release
نشر مجموعة Milvus مع Kafka باستخدام Milvus Operator
باستخدام Milvus Operator، قم بتعيين spec.dependencies.msgStreamType: "kafka" وتهيئة Kafka ضمن spec.dependencies.kafka (المجموعة فقط). يدعم kafka external و inCluster.
Kafka الخارجي
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"
يتم دعم تكوينات SASL في Milvus Operator الإصدار v0.8.5 أو الأحدث.
Kafka الداخلي (داخل المجموعة)
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: {}
قم بتطبيق التكوين (بافتراض أن الملف هو milvuscluster.yaml):
kubectl apply -f milvuscluster.yaml
إلغاء التثبيت
kubectl delete milvus my-release
ملاحظات
- الترقية من الإصدار 2.5.x إلى الإصدار 2.6.x: قيود قائمة انتظار الرسائل: عند الترقية إلى Milvus v3.0.0، يجب الحفاظ على اختيارك الحالي لقائمة انتظار الرسائل. لا يتم دعم التبديل بين أنظمة قوائم انتظار الرسائل المختلفة أثناء الترقية. سيتوفر دعم تغيير أنظمة قوائم انتظار الرسائل في الإصدارات المستقبلية. إذا كنت تستخدم Kafka وترغب في الاحتفاظ به، فلا تقم بتغيير قائمة انتظار الرسائل أثناء الترقية.
- يتم دعم Kafka 2.x و3.x فقط.
- بالنسبة لاتصال SASL/SSL، راجع «الاتصال بـ Kafka باستخدام SASL/SSL».