كشفت شركة كلاود فلير (Cloudflare) عن تفاصيل هندسية تتعلق بخدمة التوافق الموزع التجريبية Meerkat، المخصصة لإدارة مستوى التحكم الداخلي (Control Plane) على نطاق عالمي. وتعتمد الخدمة على خوارزمية توافق حديثة تُدعى QuePaxa، والتي نشرها الباحثان "تيناج وباسيسكو" (Tennage & Băsescu) عام 2023. ويُعد هذا الاختيار خروجاً عن المألوف في مجال الأنظمة الموزعة، حيث تعتمد أغلب البنيات التحتية الحالية على خوارزميات راسخة مثل Raft أو Paxos أو Viewstamped Replication.
تحديات خوارزميات التوافق التقليدية في الشبكات العالمية
تعاني خوارزميات التوافق التقليدية من هبوط حاد في الأداء أو التوقف الكامل عن الخدمة عند تشغيلها عبر شبكات واسعة (WAN) تتسم بتذبذب زمن الاستجابة (Latency) وانقطاع الاتصالات المحتمل. وتعتمد هذه البروتوكولات بشكل أساسي على وجود عقدة قائدة (Leader Process) تضمن ترتيب العمليات وتقديم الاستجابات في زمن متوقع. وعندما يتعرض القائد لارتفاع في زمن الاستجابة أو فقدان الاتصال بالشبكة، تتوقف عمليات التوافق تماماً لحين اكتشاف الخلل وانتخاب قائد جديد.
وتتجسد العيوب الرئيسية للأنظمة التقليدية في نقطتين حرجتين:
- التداخل الهدام (Destructive Interference): في بروتوكول Paxos، يؤدي تقديم اقتراحات متزامنة من عدة عقد إلى إلغاء الاقتراحات المتبادلة والدخول في دوامة من المحاولات الفاشلة التي تعطل تقدم النظام. ورغم أن بروتوكول Raft يحل المشكلة بتحديد قائد واحد، إلا أن التداخل الهدام يعود للظهور مجدداً أثناء عمليات إنتخاب القائد عند حدوث اضطراب شبكي مؤقت.
- مستشعرات الأعطال العاجزة (Fault Detectors): في الشبكات غير المتزامنة كشبكة الإنترنت، يصعب تمييز بطء الشبكة عن الفشل الكامل للعقدة. وتؤدي التقديرات الخاطئة لمستشعرات الأعطال إلى إطلاق عمليات إنتخاب قائد غير ضرورية، مما يدخل النظام في حالة فشل شبيهة بالاستقرار التناظري (Metastable Failure) وتوقف الكتابة لعدة ساعات.
كيف تعالج QuePaxa نقاط الخلل دون قائد إجباري؟
تتجاوز خوارزمية QuePaxa هذه العقبات من خلال ثلاثة خيارات تصميمية جوهرية: جعل القائد خياراً اختيارياً، والاستغناء الكامل عن مستشعرات الأعطال، واعتناد التعاون بدلاً من التنافس بين مقدمي الاقتراحات (Proposers). وتقوم الخوارزمية على تقسيم الأدوار بين المترشحين (Proposers) والمسجلين (Recorders).
وتعتمد الخوارزمية على تعيين أولويات عشوائية للاقتراحات. وعندما يستقبل المترشح اقتراحاً ذا أولوية أعلى من مسجل آخر، فإنه يتبنى الاقتراح الجديد فوراً ويبدأ في بثه، مما يجعل جميع العقد تعمل بتعاون للوصول إلى أعلى أولوية معلنة بدلاً من حجب بعضها البعض. وفي حال وجود قائد، يمنح أعلى أولوية ممكنة، مما يتيح له حسم التوافق في رحلة ذهاب وإياب واحدة (Single Round-Trip) طالما كانت الشبكة مستقرة.
آلية العمل الفنية: المراحل الأربع لتحقيق التوافق
تنفذ QuePaxa جولات التوافق عبر أربع مراحل متتالية يمر بها النظام لإقرار السجلات:
- المرحلة 0 (التقديم والتبني): يولد المترشحون أولويات عشوائية لاقتراحاتهم. وإذا كان القائد يعمل بشكل سليم ووصلت رسائله إلى أغلبية المسجلين أولاً، يتم حسم التوافق فوراً عبر "المسار السريع" (Fast Path).
- المرحلة 1 (الانتشار): ينشر المترشحون الاقتراحات المتبناة إلى أغلبية المسجلين لمنع التراجع عن الاقتراحات ذات الأولويات العليا لاحقاً، استناداً إلى تقاطع الأغلبيات (Majority Intersection).
- المرحلة 2 (الفحص والحسم): يستعلم المترشحون من المسجلين عن أعلى أولوية شوهدت في المرحلة السابقة، وإذا طابقت اقتراحهم المتبنى يتم إقراره رسمياً.
- المرحلة 3 (التمرير للجولة التالية): في حال عدم الحسم، تتبنى العقد أفضل اقتراح متاح استعداداً للجولة التالية، مما يرفع احتمالية التوافق التراكمي بشدة.
لماذا يهم هذا التحول التقني؟
يعد اعتماد QuePaxa خطوة عملانية تُغير أسلوب تصميم الأنظمة الموزعة عابرة القارات؛ حيث يُثبت أن الأنظمة لا تحتاج إلى التضحية بالتوفر (Availability) أو التوقف الكلي عند اضطراب شبكة الإنترنت. وأظهرت نتائج تشغيل Meerkat في بيئة كلاود فلير الحية أن أكثر من 95% من القرارات تُحسم عبر المسار السريع للقائد، وعند حدوث خلل في الشبكة أو سقوط القائد، لا يتوقف النظام بل ينخفض معدل إنتاجيته إلى الثلث فقط كحد أقصى مع استمرار معالجة الطلبات.
كما تتيح الخوارزمية تقنيات التسييج (Hedging)، حيث يمكن للعملاء إرسال الاقتراحات لجميع النسخ مع ضبط مهلة انتظار قصيرة محلياً دون الارتباط بزمن استجابة الشبكة، مما يلغي فترات التوقف الناجمة عن مهلات الانتخاب الطويلة في Raft والتي تصل لعدة ثوانٍ. وتعمل كلاود فلير حالياً على التحقق البرمجي الصارم (Formal Verification) لكود الخوارزمية المكتوب بلغة Rust لضمان سلامة البيانات أثناء حالات الاستعادة من الانهيار (Crash Recovery).
كيف أعددنا هذا الخبر؟
اعتمد الخبر على المصدر الأصلي الموضح أعلاه. قد نستخدم أدوات آلية للمساعدة في الاستخراج والتصنيف والصياغة،
لكن النشر يخضع لقواعد تمنع المحتوى المكرر والقصير أو الروتيني منخفض القيمة.
اقرأ سياستنا التحريرية.