توسيع نطاق مجموعة ميلفوس العنقودية
يدعم Milvus التوسع الأفقي لمكوناته. هذا يعني أنه يمكنك إما زيادة أو تقليل عدد العُقد العاملة من كل نوع وفقًا لحاجتك الخاصة.
يصف هذا الموضوع كيفية توسيع نطاق مجموعة Milvus وتوسيع نطاقها. نفترض أنك قد قمت بالفعل بتثبيت مجموعة Milvus قبل التوسع. نوصي أيضًا بالتعرف على بنية Milvus قبل البدء.
يأخذ هذا البرنامج التعليمي توسيع نطاق ثلاث عقد استعلام كمثال. لتوسيع نطاق أنواع أخرى من العُقد، استبدل queryNode
بنوع العقدة المطابق في سطر الأوامر.
للحصول على معلومات حول كيفية توسيع نطاق مجموعة باستخدام مشغل Milvus، راجع توسيع نطاق مجموعة باستخدام مشغل Milvus.
ما هو القياس الأفقي؟
يتضمن التوسع الأفقي التوسع للخارج والتوسع للداخل.
التوسع للخارج
يشير توسيع النطاق إلى زيادة عدد العقد في المجموعة. على عكس التوسع، لا يتطلب توسيع النطاق إلى الخارج تخصيص المزيد من الموارد لعقدة واحدة في المجموعة. بدلاً من ذلك، يعمل توسيع النطاق على توسيع الكتلة أفقياً عن طريق إضافة المزيد من العقد.
توسيع النطاق
توسيع النطاق
وفقًا لبنية Milvus، تتضمن العقد العاملة عديمة الحالة عقدة الاستعلام وعقدة البيانات وعقدة الفهرس والوكيل. لذلك، يمكنك توسيع نطاق هذه الأنواع من العقد لتناسب احتياجات عملك وسيناريوهات التطبيق. يمكنك إما توسيع نطاق مجموعة Milvus يدويًا أو تلقائيًا.
بشكل عام، ستحتاج بشكل عام إلى توسيع نطاق مجموعة Milvus التي قمت بإنشائها إذا تم استخدامها بشكل مفرط. فيما يلي بعض المواقف النموذجية التي قد تحتاج فيها إلى توسيع نطاق مجموعة Milvus:
- ارتفاع استخدام وحدة المعالجة المركزية والذاكرة لفترة من الزمن.
- يصبح إنتاجية الاستعلام أعلى.
- مطلوب سرعة أعلى للفهرسة.
- الحاجة إلى معالجة كميات هائلة من مجموعات البيانات الكبيرة.
- يجب ضمان التوافر العالي لخدمة Milvus.
التوسع في
يشير التوسع في إلى تقليل عدد العقد في المجموعة. بشكل عام، ستحتاج إلى التوسع في مجموعة ميلفوس التي قمت بإنشائها إذا كانت غير مستغلة بشكل كافٍ. فيما يلي بعض المواقف النموذجية التي تحتاج فيها إلى التوسع في مجموعة Milvus العنقودية:
- انخفاض استخدام وحدة المعالجة المركزية والذاكرة لفترة من الزمن.
- يصبح إنتاجية الاستعلام أقل.
- سرعة أعلى للفهرسة غير مطلوبة.
- حجم مجموعة البيانات المراد معالجتها صغير.
المتطلبات الأساسية
قم بتشغيل kubectl get pods
للحصول على قائمة بالمكونات وحالة عملها في مجموعة Milvus التي قمت بإنشائها.
NAME READY STATUS RESTARTS AGE
my-release-etcd-0 1/1 Running 0 1m
my-release-milvus-datacoord-7b5d84d8c6-rzjml 1/1 Running 0 1m
my-release-milvus-datanode-665d4586b9-525pm 1/1 Running 0 1m
my-release-milvus-indexcoord-9669d5989-kr5cm 1/1 Running 0 1m
my-release-milvus-indexnode-b89cc5756-xbpbn 1/1 Running 0 1m
my-release-milvus-proxy-7cbcc8ffbc-4jn8d 1/1 Running 0 1m
my-release-milvus-pulsar-6b9754c64d-4tg4m 1/1 Running 0 1m
my-release-milvus-querycoord-75f6c789f8-j28bg 1/1 Running 0 1m
my-release-milvus-querynode-7c7779c6f8-pnjzh 1/1 Running 0 1m
my-release-milvus-rootcoord-75585dc57b-cjh87 1/1 Running 0 1m
my-release-minio-5564fbbddc-9sbgv 1/1 Running 0 1m
توسيع نطاق مجموعة Milvus
يمكنك توسيع نطاق مجموعة Milvus إما يدويًا أو تلقائيًا. إذا تم تمكين التوسيع التلقائي، فإن مجموعة Milvus ستتقلص أو تتوسع تلقائيًا عندما يصل استهلاك موارد وحدة المعالجة المركزية والذاكرة إلى القيمة التي قمت بتعيينها.
في الوقت الحالي، يدعم Milvus 2.1.0 حاليًا التوسيع يدويًا فقط.
توسيع النطاق
قم بتشغيل helm upgrade my-release milvus/milvus --set queryNode.replicas=3 --reuse-values
لتوسيع نطاق عقدة الاستعلام يدويًا.
إذا نجحت، تتم إضافة ثلاث كبسولات قيد التشغيل على عقدة الاستعلام كما هو موضح في المثال التالي.
NAME READY STATUS RESTARTS AGE
my-release-etcd-0 1/1 Running 0 2m
my-release-milvus-datacoord-7b5d84d8c6-rzjml 1/1 Running 0 2m
my-release-milvus-datanode-665d4586b9-525pm 1/1 Running 0 2m
my-release-milvus-indexcoord-9669d5989-kr5cm 1/1 Running 0 2m
my-release-milvus-indexnode-b89cc5756-xbpbn 1/1 Running 0 2m
my-release-milvus-proxy-7cbcc8ffbc-4jn8d 1/1 Running 0 2m
my-release-milvus-pulsar-6b9754c64d-4tg4m 1/1 Running 0 2m
my-release-milvus-querycoord-75f6c789f8-j28bg 1/1 Running 0 2m
my-release-milvus-querynode-7c7779c6f8-czq9f 1/1 Running 0 5s
my-release-milvus-querynode-7c7779c6f8-jcdcn 1/1 Running 0 5s
my-release-milvus-querynode-7c7779c6f8-pnjzh 1/1 Running 0 2m
my-release-milvus-rootcoord-75585dc57b-cjh87 1/1 Running 0 2m
my-release-minio-5564fbbddc-9sbgv 1/1 Running 0 2m
توسيع النطاق
قم بتشغيل helm upgrade my-release milvus/milvus --set queryNode.replicas=1 --reuse-values
لتوسيع نطاق عقدة الاستعلام.
إذا نجحت، يتم تقليل ثلاث كبسولات قيد التشغيل على عقدة الاستعلام إلى واحدة كما هو موضح في المثال التالي.
NAME READY STATUS RESTARTS AGE
my-release-etcd-0 1/1 Running 0 2m
my-release-milvus-datacoord-7b5d84d8c6-rzjml 1/1 Running 0 2m
my-release-milvus-datanode-665d4586b9-525pm 1/1 Running 0 2m
my-release-milvus-indexcoord-9669d5989-kr5cm 1/1 Running 0 2m
my-release-milvus-indexnode-b89cc5756-xbpbn 1/1 Running 0 2m
my-release-milvus-proxy-7cbcc8ffbc-4jn8d 1/1 Running 0 2m
my-release-milvus-pulsar-6b9754c64d-4tg4m 1/1 Running 0 2m
my-release-milvus-querycoord-75f6c789f8-j28bg 1/1 Running 0 2m
my-release-milvus-querynode-7c7779c6f8-pnjzh 1/1 Running 0 2m
my-release-milvus-rootcoord-75585dc57b-cjh87 1/1 Running 0 2m
my-release-minio-5564fbbddc-9sbgv 1/1 Running 0 2m
ما التالي
إذا كنت تريد معرفة كيفية مراقبة خدمات ملفوس وإنشاء التنبيهات:
إذا كنت مستعداً لنشر مجموعتك على السحابة
- تعرف على كيفية نشر Milvus على Amazon EKS باستخدام Terraform
- تعرف على كيفية نشر مجموعة Milvus العنقودية على GCP باستخدام Kubernetes
- تعرّف على كيفية نشر ميلفوس على مايكروسوفت أزور باستخدام Kubernetes
إذا كنت تبحث عن إرشادات حول كيفية تخصيص الموارد: