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

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

يستخدم Milvus قائمة انتظار الرسائل لإدارة سجلات التغييرات الأخيرة، وإخراج سجلات التدفق، وتوفير اشتراكات السجلات. بدءًا من الإصدار Milvus 3.0.x، أصبح Woodpecker هو قائمة انتظار الرسائل الافتراضية الموصى بها؛ ويقدم هذا الموضوع كيفية تكوين Pulsar أو Kafka باستخدام Docker Compose أو Helm.

يمكنك تكوين Pulsar باستخدام Docker Compose أو على K8s، كما يمكنك تكوين Kafka على K8s.

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

تكوين 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

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

docker compose up
لا تصبح الإعدادات سارية المفعول إلا بعد بدء تشغيل Milvus. راجع «بدء تشغيل 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

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

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

استخدام ملف 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 number of flush retries.
          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

تكوين Kafka باستخدام Helm

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

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

استخدام ملف YAML

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

تكوين RocksMQ باستخدام Helm

كان RocksMQ هو نظام تخزين الرسائل الافتراضي في Milvus المستقل حتى الإصدار 2.5.x؛ أما ابتداءً من الإصدار 2.6.x، فإن Woodpecker هو النظام الافتراضي. للحصول على خطوات تفصيلية حول كيفية تكوين 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، ثم استدعِ واجهة برمجة التطبيقات (API) FlushAll لتفريغ جميع المجموعات، وأخيرًا أوقف Milvus قبل أن تقوم فعليًّا بتغيير مخزن الرسائل.

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

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