Milvus
Zilliz
الصفحة الرئيسية
  • المفاهيم
  • Home
  • Docs
  • المفاهيم

  • الهندسة المعمارية

  • خدمة البث

خدمة البث

خدمة التدفق هي مفهوم لوحدة نظام التدفق الداخلي في Milvus، وهي مبنية حول سجل الكتابة الأمامية (WAL) لدعم مختلف الوظائف المتعلقة بالبث. وتشمل هذه الوظائف استيعاب/اشتراك البيانات المتدفقة، واسترداد الأخطاء لحالة المجموعة، وتحويل البيانات المتدفقة إلى بيانات تاريخية، والاستعلامات المتزايدة للبيانات. من الناحية المعمارية، تتكون خدمة التدفق من ثلاثة مكونات رئيسية:

Streaming Distributed Arc قوس التدفق الموزع

  • منسق التدفق: مكون منطقي في عقدة المنسق. ويستخدم Etcd لاكتشاف الخدمة لتحديد موقع عقد التدفق المتاحة وهو مسؤول عن ربط WAL بعقد التدفق المقابلة. كما أنها تسجل الخدمة لفضح طوبولوجيا توزيع WAL، مما يسمح لعملاء البث بمعرفة عقدة البث المناسبة لعقدة دفق معينة.

  • مجموعة عقدة التدفق: مجموعة من عُقد عامل التدفق المسؤولة عن جميع مهام معالجة البث، مثل إلحاق المحفظة واستعادة الحالة والاستعلام عن البيانات المتزايدة.

  • عميل التدفق: عميل Milvus مطور داخليًا يقوم بتغليف الوظائف الأساسية مثل اكتشاف الخدمة والتحقق من الجاهزية. يتم استخدامه لبدء عمليات مثل كتابة الرسائل والاشتراك.

الرسالة

خدمة الدفق هي نظام تدفق يعتمد على السجلات، لذلك يتم تجريد جميع عمليات الكتابة في ميلفوس (مثل DML وDDL) كرسائل.

  • يتم تعيين حقل Timestamp Oracle (TSO ) لكل رسالة من قبل خدمة الدفق، والذي يشير إلى ترتيب الرسالة في WAL. يحدد ترتيب الرسائل ترتيب عمليات الكتابة في ملفوس. وهذا يجعل من الممكن إعادة بناء أحدث حالة مجموعة من السجلات.

  • تنتمي كل رسالة إلى قناة افتراضية VChannel (قناة افتراضية) محددة وتحتفظ بخصائص ثابتة معينة داخل تلك القناة لضمان اتساق العملية. على سبيل المثال، يجب أن تحدث عملية "إدراج" دائمًا قبل عملية "إسقاط مجموعة" على نفس القناة.

قد يشبه ترتيب الرسائل في ميلفوس ما يلي:

Message Order ترتيب الرسائل

مكون WAL

لدعم قابلية التوسع الأفقي على نطاق واسع، فإن WAL في Milvus ليس ملف سجل واحد، بل هو مركب من سجلات متعددة. يمكن لكل سجل أن يدعم بشكل مستقل وظيفة التدفق لعدة قنوات VChannels V بشكل مستقل. في أي وقت معين، يُسمح لمكون WAL بالعمل على عقدة دفق واحدة فقط، وهذا القيد موعود من قبل كل من آلية التسييج للتخزين الأساسي ومنسق التدفق.

تتضمن الميزات الإضافية لمكون WAL ما يلي:

  • إدارة دورة حياة المقطع: استنادًا إلى السياسة مثل ظروف الذاكرة/حجم المقطع/وقت خمول المقطع، يدير WAL دورة حياة كل مقطع.

  • دعم المعاملات الأساسية: نظرًا لأن كل رسالة لها حد للحجم، يدعم مكوّن WAL مستوى المعاملات البسيط للوعود بالكتابة الذرية على مستوى قناة VChannel.

  • كتابة السجل عن بُعد عالية التردد: يدعم Milvus قوائم انتظار الرسائل عن بعد التابعة لجهة خارجية كمخزن WAL. وللتخفيف من زمن انتقال الرحلة ذهابًا وإيابًا (RTT) بين عقدة التدفق وتخزين WAL عن بُعد لتحسين إنتاجية الكتابة، تدعم خدمة التدفق عمليات كتابة السجل المتزامنة. يحافظ على ترتيب الرسائل من خلال مزامنة TSO و TSO، وتتم قراءة الرسائل في WAL بترتيب TSO.

  • مخزن الكتابة المسبق: بعد أن تتم كتابة الرسائل إلى WAL، يتم تخزينها مؤقتًا في مخزن مؤقت للكتابة المسبقة. يتيح هذا إمكانية قراءة السجلات الخلفية للسجلات دون جلب الرسائل من مخزن WAL البعيد.

  • يدعم تخزين WAL المتعدد: نقار الخشب ونقار الخشب وبولسار وكافكا. باستخدام نقار الخشب مع وضع القرص الصفري، يمكننا إزالة تبعية تخزين WAL عن بعد.

تخزين الاسترداد

يعمل مكوِّن تخزين الاسترداد دائمًا على عقدة التدفق التي يوجد بها مكوِّن WAL المقابل.

  • وهو مسؤول عن تحويل البيانات المتدفقة إلى بيانات تاريخية ثابتة وتخزينها في تخزين الكائنات.

  • كما أنه يعالج استرداد الحالة في الذاكرة لمكون WAL على عقدة التدفق.

Recovery Storage مخزن الاسترداد

مفوض الاستعلام

يعمل "مفوض الاستعلام " على كل عقدة تدفق وهو مسؤول عن تنفيذ الاستعلامات الإضافية على جزء واحد. حيث يقوم بإنشاء خطط الاستعلام وإرسالها إلى عقد الاستعلام ذات الصلة وتجميع النتائج.

بالإضافة إلى ذلك، يكون مفوض الاستعلام مسؤولاً عن بث عمليات الحذف إلى عقد الاستعلام الأخرى.

يتعايش مفوض الاستعلام دائمًا مع مكون WAL على نفس عقدة البث. ولكن إذا تم تكوين المجموعة مع تعدد النسخ، فسيتم نشر N-1 المفوضين على عقد التدفق الأخرى.

عمر WAL وانتظار الاستعداد

من خلال فصل عقد الحوسبة عن التخزين، يمكن لـ Milvus نقل WAL بسهولة من عقدة تدفق إلى أخرى، مما يحقق توافرًا عاليًا في خدمة التدفق.

wal lifetime عمر WAL

انتظار الاستعداد

عندما يتم نقل WAL إلى عقدة تدفق جديدة، سيجد العميل أن عقدة التدفق القديمة ترفض بعض الطلبات. في هذه الأثناء، سيتم استرداد WAL في عقدة البث الجديدة، وسينتظر العميل أن تكون المحفظة على عقدة البث الجديدة جاهزة للخدمة.

wait for ready انتظار الجاهزية

جرب Managed Milvus مجاناً

Zilliz Cloud خالي من المتاعب، ويعمل بواسطة Milvus ويعمل بسرعة 10 أضعاف.

ابدأ
التعليقات

هل كانت هذه الصفحة مفيدة؟