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

تكوين تخزين الرسائل باستخدام Docker Compose أو Helm

يستخدم Milvus نظام Pulsar أو Kafka لإدارة سجلات التغييرات الأخيرة، وإخراج سجلات الدفق، وتوفير اشتراكات السجلات. Pulsar هو نظام تخزين الرسائل الافتراضي. يقدم هذا الموضوع كيفية تكوين تخزين الرسائل باستخدام Docker Compose أو Helm.

يمكنك تكوين Pulsar مع Docker Comp ose أو على K8s وتكوين Kafka على K8s.

قيود قائمة انتظار الرسائل: عند الترقية إلى الإصدار 2.6.16 من Milvus، يجب عليك الحفاظ على اختيارك الحالي لقائمة انتظار الرسائل. التبديل بين أنظمة طابور الرسائل المختلفة أثناء الترقية غير مدعوم. سيتوفر دعم تغيير أنظمة قوائم انتظار الرسائل في الإصدارات المستقبلية.

تكوين Pulsar باستخدام Docker Compose

1. تكوين Pulsar

لتهيئة Pulsar مع Docker Compose، قم بتوفير القيم الخاصة بك للقسم pulsar في الملف milvus.yaml على مسار milvus/configs.

pulsar:
  address: localhost # Address of pulsar
  port: 6650 # Port of pulsar
  maxMessageSize: 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.

راجع التكوينات المتعلقة بـ Pulsar لمزيد من المعلومات.

2. تشغيل ميلفوس

قم بتشغيل الأمر التالي لبدء تشغيل Milvus الذي يستخدم تكوينات Pulsar.

docker compose up
لا تدخل التكوينات حيز التنفيذ إلا بعد بدء تشغيل ميلفوس. انظر بدء تشغيل Milvus لمزيد من المعلومات.

تكوين Pulsar مع Helm

بالنسبة لمجموعات Milvus على K8s، يمكنك تكوين Pulsar في نفس الأمر الذي يبدأ تشغيل Milvus. وبدلاً من ذلك، يمكنك تكوين Pulsar باستخدام الملف values.yml على المسار /charts/milvus في مستودع milvus-helm قبل بدء تشغيل Milvus.

للحصول على تفاصيل حول كيفية تكوين ملف Milvus باستخدام Helm، راجع تكوين Milvus باستخدام مخططات Helm. للحصول على تفاصيل حول عناصر التكوين المتعلقة بـ Pulsar، راجع التكوينات المتعلقة بـ Pulsar. |

استخدام ملف YAML

  1. قم بتكوين القسم externalConfigFiles في الملف values.yaml.
extraConfigFiles:
  user.yaml: |+
    pulsar:
      address: localhost # Address of pulsar
      port: 6650 # Port of Pulsar
      webport: 80 # Web port of pulsar, if you connect direcly without proxy, should use 8080
      maxMessageSize: 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.
      tenant: public
      namespace: default    
  1. بعد تكوين الأقسام السابقة وحفظ الملف values.yaml ، قم بتشغيل الأمر التالي لتثبيت ملف Milvus الذي يستخدم تكوينات Pulsar.
helm install <your_release_name> milvus/milvus -f values.yaml

تكوين Woodpecker مع Helm

بالنسبة لمجموعات ميلفوس على K8s، يمكنك تكوين Woodpecker في نفس الأمر الذي يبدأ تشغيل ميلفوس. وبدلاً من ذلك، يمكنك تكوين Woodpecker باستخدام الملف values.yml على المسار /charts/milvus في مستودع milvus-helm قبل بدء تشغيل Milvus.

للحصول على تفاصيل حول كيفية تكوين ميلفوس باستخدام Helm، راجع تكوين ميلفوس باستخدام مخططات Helm. للحصول على تفاصيل حول عناصر التكوين المتعلقة بنقار الخشب، ارجع إلى تكوينات متعلقة بنقار الخشب. |

استخدام ملف YAML

  1. قم بتكوين القسم externalConfigFiles في الملف values.yaml.
extraConfigFiles:
  user.yaml: |+
    woodpecker:
      meta:
        type: etcd # The Type of the metadata provider. currently only support etcd.
        prefix: woodpecker # The Prefix of the metadata provider. default is woodpecker.
      client:
        segmentAppend:
          queueSize: 10000 # The size of the queue for pending messages to be sent of each log.
          maxRetries: 3 # Maximum number of retries for segment append operations.
        segmentRollingPolicy:
          maxSize: 256M # Maximum size of a segment.
          maxInterval: 10m # Maximum interval between two segments, default is 10 minutes.
          maxBlocks: 1000 # Maximum number of blocks in a segment
        auditor:
          maxInterval: 10s # Maximum interval between two auditing operations, default is 10 seconds.
      logstore:
        segmentSyncPolicy:
          maxInterval: 200ms # Maximum interval between two sync operations, default is 200 milliseconds.
          maxIntervalForLocalStorage: 10ms # Maximum interval between two sync operations local storage backend, default is 10 milliseconds.
          maxBytes: 256M # Maximum size of write buffer in bytes.
          maxEntries: 10000 # Maximum entries number of write buffer.
          maxFlushRetries: 5 # Maximum size of write buffer in bytes.
          retryInterval: 1000ms # Maximum interval between two retries. default is 1000 milliseconds.
          maxFlushSize: 2M # Maximum size of a fragment in bytes to flush.
          maxFlushThreads: 32 # Maximum number of threads to flush data
        segmentCompactionPolicy:
          maxSize: 2M # The maximum size of the merged files.
          maxParallelUploads: 4 # The maximum number of parallel upload threads for compaction.
          maxParallelReads: 8 # The maximum number of parallel read threads for compaction.
        segmentReadPolicy:
          maxBatchSize: 16M # Maximum size of a batch in bytes.
          maxFetchThreads: 32 # Maximum number of threads to fetch data.
      storage:
        type: minio # The Type of the storage provider. Valid values: [minio, local]
        rootPath: /var/lib/milvus/woodpecker # The root path of the storage provider.    
  1. | بعد تكوين الأقسام السابقة وحفظ الملف values.yaml ، قم بتشغيل الأمر التالي لتثبيت ملف Milvus الذي يستخدم تكوينات Woodpecker.
helm install <your_release_name> milvus/milvus -f values.yaml

تكوين كافكا مع هيلم

بالنسبة لمجموعات ميلفوس على K8s، يمكنك تكوين كافكا في نفس الأمر الذي يبدأ تشغيل ميلفوس. بدلاً من ذلك، يمكنك تهيئة كافكا باستخدام الملف values.yml على مسار /charts/milvus في مستودع milvus-helm قبل بدء تشغيل Milvus.

للحصول على تفاصيل حول كيفية تكوين ملف Milvus باستخدام Helm، راجع تكوين ملف Milvus باستخدام مخططات Helm. للحصول على تفاصيل حول عناصر التكوين المتعلقة بـ Pulsar، راجع التكوينات المتعلقة بـ Pulsar.

استخدام ملف YAML

  1. قم بتكوين القسم externalConfigFiles في الملف values.yaml إذا كنت تريد استخدام كافكا كنظام تخزين الرسائل.
extraConfigFiles:
  user.yaml: |+
    kafka:
      brokerList:
        -  <your_kafka_address>:<your_kafka_port>
      saslUsername:
      saslPassword:
      saslMechanisms: PLAIN
      securityProtocol: SASL_SSL    
  1. بعد تكوين الأقسام السابقة وحفظ الملف values.yaml ، قم بتشغيل الأمر التالي لتثبيت ملف Milvus الذي يستخدم تكوينات كافكا.
helm install <your_release_name> milvus/milvus -f values.yaml

تكوين RocksMQ مع Helm

يستخدم ملف Milvus المستقل RocksMQ كمخزن افتراضي للرسائل. للحصول على خطوات مفصلة حول كيفية تكوين Milvus مع Helm، راجع تكوين Milvus مع مخططات Helm. للحصول على تفاصيل حول عناصر التكوين المتعلقة بـ RocksMQ، راجع التكوينات المتعلقة بـ RocksMQ.

  • إذا قمت ببدء تشغيل Milvus مع RocksMQ وأردت تغيير إعداداته، يمكنك تشغيل helm upgrade -f بالإعدادات التي تم تغييرها في ملف YAML التالي.

  • إذا كنت قد قمت بتثبيت Milvus مستقل باستخدام Helm مع مخزن رسائل غير RocksMQ وتريد تغييره مرة أخرى إلى RocksMQ، فقم بتشغيل helm upgrade -f مع ملف YAML التالي بعد مسح جميع المجموعات وإيقاف Milvus.

extraConfigFiles:
  user.yaml: |+
    rocksmq:
      # The path where the message is stored in rocksmq
      # please adjust in embedded Milvus: /tmp/milvus/rdb_data
      path: /var/lib/milvus/rdb_data
      lrucacheratio: 0.06 # rocksdb cache memory ratio
      rocksmqPageSize: 67108864 # 64 MB, 64 * 1024 * 1024 bytes, The size of each page of messages in rocksmq
      retentionTimeInMinutes: 4320 # 3 days, 3 * 24 * 60 minutes, The retention time of the message in rocksmq.
      retentionSizeInMB: 8192 # 8 GB, 8 * 1024 MB, The retention size of the message in rocksmq.
      compactionInterval: 86400 # 1 day, trigger rocksdb compaction every day to remove deleted data
      # compaction compression type, only support use 0,7.
      # 0 means not compress, 7 will use zstd
      # len of types means num of rocksdb level.
      compressionTypes: [0, 0, 7, 7, 7]    

لا ينصح بتغيير مخزن الرسائل. إذا كنت تريد القيام بذلك، قم بإيقاف جميع عمليات DDL، ثم قم باستدعاء FlushAll API لمسح جميع المجموعات، وأخيراً أوقف Milvus في النهاية قبل أن تقوم بتغيير مخزن الرسائل فعلياً.

ما التالي

تعلم كيفية تكوين تبعيات Milvus الأخرى باستخدام Docker Compose أو Helm: