• نبذة عن Milvus
  • ابدأ
  • المفاهيم
  • دليل المستخدم
  • استيراد البيانات
  • أدوات الذكاء الاصطناعي
  • دليل الإدارة
  • الأدوات
  • عمليات الدمج
  • الدروس التعليمية
  • الأسئلة الشائعة
  • API Reference

استخدام Pulsar كخلفية لقائمة انتظار الرسائل (WAL) في Milvus

يعد Apache Pulsar أحد الخلفيات الخاصة بقوائم انتظار الرسائل (WAL) التي يدعمها Milvus. في Milvus 3.x، يُعد Woodpecker قائمة انتظار الرسائل الافتراضية؛ ويظل Pulsar مدعومًا بالكامل للمستخدمين الذين يفضلونه. يُستخدم Pulsar بشكل أساسي مع Milvus Distributed (المجموعة)؛ بينما تستخدم عمليات النشر المستقلة عادةً Woodpecker المدمج أو RocksMQ.

توافق الإصدارات

إصدار Milvusإصدار Pulsar المدعومالافتراضي
2.5.x والإصدارات الأحدثPulsar v3 (موصى به) أو Pulsar v2Pulsar v3 (عبر Helm / Milvus Operator)
2.4.x والإصدارات الأقدمPulsar v2Pulsar الإصدار 2

بدءًا من Milvus 2.5، يقوم مخطط Milvus Helm و Milvus Operator بنشر Pulsar v3 بشكل افتراضي؛ ويظل Pulsar v2 متوافقًا. راجع ترقية Pulsar من الإصدار v2 إلى الإصدار v3 ومواصلة استخدام Pulsar v2.

نشر مجموعة Milvus مع Pulsar باستخدام Helm

التثبيت

لنشر مجموعة Milvus التي تستخدم Pulsar المضمّن (بدلاً من Woodpecker)، قم بتثبيت مخطط Helm مع تمكين Streaming Node:

helm install my-release zilliztech/milvus \
  --set image.all.tag=v3.0.0 \
  --set pulsarv3.enabled=true \
  --set woodpecker.enabled=false \
  --set streaming.enabled=true \
  --set indexNode.enabled=false

في Kubernetes الإصدار 1.25 والإصدارات الأحدث، إذا واجهت مشكلات في واجهة برمجة تطبيقات (API) PodDisruptionBudget (PDB) من مخطط Pulsar الفرعي المضمّن، فقم بتعطيل سياسات PDB الخاصة بـ Pulsar:

helm install my-release zilliztech/milvus \
  --set pulsar.bookkeeper.pdb.usePolicy=false \
  --set pulsar.broker.pdb.usePolicy=false \
  --set pulsar.proxy.pdb.usePolicy=false \
  --set pulsar.zookeeper.pdb.usePolicy=false

التكوين

لربط Milvus بخدمة Pulsar خارجية، قم بتعطيل Pulsar المدمج وتمكين " externalPulsar " في تجاوز " values.yaml ":

pulsarv3:
  enabled: false
externalPulsar:
  enabled: true
  host: <your_pulsar_host>
  port: 6650
  maxMessageSize: "5242880"  # 5 MB, maximum size of each message
  tenant: public
  namespace: default
helm install my-release zilliztech/milvus -f values.yaml

إلغاء التثبيت

helm uninstall my-release

إذا كنت قد استخدمت Pulsar المضمن وترغب في إزالة بياناته الدائمة، فاحذف PVCs الخاصة بـ Pulsar (المسماة my-release-pulsarv3-*):

kubectl get pvc | grep my-release-pulsarv3
kubectl delete pvc <pulsar-pvc-name> ...

نشر مجموعة Milvus مع Pulsar باستخدام Milvus Operator

باستخدام Milvus Operator، قم بتكوين Pulsar ضمن spec.dependencies.pulsar (مدعوم لمجموعة Milvus فقط). يدعم pulsar كل من external و inCluster.

Pulsar الخارجي

apiVersion: milvus.io/v1alpha1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  dependencies:
    pulsar:
      external: true
      endpoints:
      - 192.168.1.1:6650
  components: {}
  config: {}

Pulsar الداخلي (داخل المجموعة)

apiVersion: milvus.io/v1alpha1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  dependencies:
    pulsar:
      inCluster:
        values:
          components:
            autorecovery: false
          zookeeper:
            replicaCount: 1
          bookkeeper:
            replicaCount: 1
          broker:
            replicaCount: 1
            configData:
              autoSkipNonRecoverableData: "true"
              managedLedgerDefaultEnsembleSize: "1"
              managedLedgerDefaultWriteQuorum: "1"
              managedLedgerDefaultAckQuorum: "1"
          proxy:
            replicaCount: 1
  components: {}
  config: {}

قم بتطبيق التكوين (بافتراض أن الملف هو milvuscluster.yaml):

kubectl apply -f milvuscluster.yaml

إلغاء التثبيت

kubectl delete milvus my-release

ملاحظات

  • الترقية من الإصدار 2.5.x إلى الإصدار 2.6.x: قيود قائمة انتظار الرسائل: عند الترقية إلى Milvus v3.0.0، يجب الحفاظ على اختيارك الحالي لقائمة انتظار الرسائل. لا يتم دعم التبديل بين أنظمة قائمة انتظار الرسائل المختلفة أثناء الترقية. سيتوفر دعم تغيير أنظمة قائمة انتظار الرسائل في الإصدارات المستقبلية. إذا كنت تستخدم Pulsar وترغب في الاحتفاظ به، فلا تقم بتغيير قائمة انتظار الرسائل أثناء الترقية.
  • Pulsar v2 → v3: راجع ترقية Pulsar من الإصدار v2 إلى v3؛ للاستمرار في استخدام الإصدار v2، راجع الاستمرار في استخدام Pulsar v2.

الخطوة التالية