الخلاصة
- ألزمت RFC 3384 النسخ متعددة السادة بأن تتقارب على حالة حية واحدة، لكنها ألزمت العملية أيضاً بحفظ المعلومات التي يزيحها حل التعارض وإخطار المسؤول وإبقاء طريق لتجاوز القرار.
- لا يجوز لترتيب وصول التغييرات أن يمنح أحدها سلطة نهائية. اتفاق العرض وحفظ سجل الخلاف التزامان منفصلان.
قبل انقطاع الاتصال عدّل موظف سمة في نسخة رئيسية، وفي أثناء الانقطاع قبلت نسخة رئيسية أخرى تعديلاً مختلفاً في السمة نفسها. عند عودة الشبكة توجد روايتان صحيحتان محلياً، لكن القراء يحتاجون إلى قيمة حية واحدة. على نظام النسخ أن يختار. غير أن RFC 3384 رفضت أن يتحول الاختيار إلى إذن بإعدام الرواية الأخرى.
صدرت الوثيقة في أكتوبر 2002 بصفتها RFC معلوماتية. جمعت المتطلبات الأساسية لنسخ أدلة LDAPv3 بصورة قابلة للتشغيل البيني، ولم تقدم بروتوكول نسخ مكتملاً أو معيار تنفيذ واحداً. لذلك لا يجوز تحويل نص المتطلبات إلى ادعاء بأن منتجاً بعينه نفذه أو أن خوارزمية محددة أصبحت سائدة.
كان LDAP قد نظم الاتصال بين العميل والخادم، أما النسخ بين الخوادم ففتح سطحاً مختلفاً. يقرّب البيانات من المستخدم، ويتيح استمرار القراءة عند تعطل موقع، لكنه يدخل الطوبولوجيا والنسخ الجزئية والمخطط والتحكم في الوصول وإعادة الإرسال والكتابات المتزامنة في عملية واحدة.
سمّت الوثيقة الجزء القابل للضبط من شجرة معلومات الدليل «منطقة نسخ». يمكن للمناطق أن تتداخل أو تتعشش. النسخة مثيل لمنطقة، ومجموعة النسخ هي الخوادم التي تحملها. أما اتفاق النسخ فيحدد المنطقة والوصول وبيانات الاعتماد والسرية وسلوك النشر. لذلك لا معنى لعبارة «متزامن» من دون تحديد المجال والاتفاق اللذين تقيسهما.
ناقشت RFC 3384 خمسة نماذج للاتساق. يقدم الاتساق المعاملي خصائص ACID المعروفة، لكن تعقيد الالتزام الموزع ذي المرحلتين جعل الوثيقة لا تلاحقه حينها. ركزت المتطلبات على الاتساق النهائي والاتساق النهائي ذي الجهد المحدود. أصبح الاختلاف المؤقت أثناء الانقسام جزءاً من النموذج، لا دليلاً فورياً على الفشل.
لكن السماح بالاختلاف المؤقت لم يكن سماحاً بالنتيجة الاعتباطية. تطلب M3 أن تتقارب السمة على مجموعة القيم نفسها في كل نسخة تحمل الإدخال. وكرر MM6 واجب تقارب السمات والإدخالات في وضع تعدد السادة. قد تؤخر الشبكة الاتفاق، لكنها لا تلغي الطريق إليه.
ينشأ التعارض من ميزة تعدد السادة نفسها. يستطيع أكثر من سيد قبول الكتابة من دون استشارة الآخرين أولاً. تحافظ هذه الاستقلالية على التوفر المحلي، لكنها تسمح لتعديلين مشروعين بلمس البيانات نفسها قبل أن يرى أحدهما الآخر. وبعد اللقاء لا بد من قرار حتمي بشأن الحالة الحية.
الحتمية لا تعني «يفوز آخر ما وصل». قد تستقبل نسختان التحديثين نفسيهما بترتيبين معكوسين. إذا منحت كل نسخة السلطة لآخر رسالة رأتها فسوف تختاران فائزين مختلفين. لذلك نص MM7 على ألا يعتمد حل التعارض على وصول التغييرات بالترتيب لضمان التقارب النهائي. تنقل الشبكة القرارات؛ ولا ينبغي لمصادفة توقيتها أن تنشئ السلطة.
لم تختر الوثيقة ساعة منطقية أو قاعدة زمنية أو أولوية ثابتة للخوادم. ثبتت خاصية أعمق: يجب أن تتمكن النسخ المستقلة، داخل النموذج المدعوم، من بلوغ النتيجة نفسها رغم اختلاف تسلسل التسليم. بقيت حرية التصميم لاحقاً، لكن استُبعدت صحة تتوقف على ترتيب لا يمكن التحكم فيه.
أضاف MM5 الحد الفاصل. لا ينبغي للنسخ متعدد السادة أن يفقد المعلومات. وإذا كان حل التعارض سيزيل معلومات دليل من الحالة المتقاربة، وجب على العملية تخزين تلك المعلومات، وإخطار المسؤول بالتعارض والخسارة، وتقديم آلية تسمح بتجاوز إداري محتمل.
لا يعني ذلك بقاء القيمتين المتعارضتين كلتيهما في الإدخال الحي. لو بقيتا معاً لانتقل عبء الحسم إلى كل عميل. المتطلب يفصل بين سطحين: حالة حالية موحدة للعمل، وقناة دليل تحفظ ما أزاحته القاعدة الآلية. يستطيع المسؤول فحص البديل وفهم القرار وتغيير الفائز إذا استدعى الدليل ذلك.
لهذا لا يكفي تطابق النسخ دليلاً على سلامة العملية. يثبت التطابق ما يراه القارئ الآن، لكنه لا يثبت أن القيمة الصحيحة فازت أو أن البديل قابل للاستعادة أو أن الإخطار وصل. قد تكون لوحة التقارب كلها خضراء بينما تكون حوكمة القرار ناقصة.
عالج M12 إعادة التسليم. استقبال التحديث نفسه أكثر من مرة يجب ألا يعطي نتيجة تختلف عن استقباله مرة واحدة. قد ينقطع الاتصال بعد التطبيق وقبل وصول التأكيد. يعيد المورد الإرسال لأنه لا يعرف ما حدث. إذا عُدت الإعادة تعديلاً جديداً فسوف تتحول آلية الاسترداد إلى مصدر فساد.
وحافظ P6 على ذرية عمليات LDAP عبر النقل. لا يجوز أن تظهر أجزاء العملية الواحدة منفصلة لأن عناصرها انتقلت بين خوادم. مع ذلك يمكن لعمليتين ذريتين كاملتين أن تتعارضا. الذرية تمنع الكتابة الممزقة، لكنها لا تختار بين إرادتين مكتملتين.
كان تعارض بدء جلسة النسخ مشكلة أخرى. إذا حاول عدة سادة بدء دورة مع النسخة نفسها في الوقت ذاته، طلب MM4 حلاً أو تجنباً آلياً. انشغال المستهلك وفقد الاتصال وإعادة الجدولة مسائل تنسيق جلسة، بينما الخلاف على القيمة مسألة مصالحة بيانات. يحتاج كل منهما إلى دليل وتشغيل مختلفين.
كانت الإدارة جزءاً من التشغيل البيني. ألزم AM2 كل نسخة بتاريخ تدقيق للخوادم التي تبادلت معها البيانات. ودعا AM4 وAM5 إلى مقارنة نسختين وإصلاح الفروق من دون إطلاق دورات جديدة. وينبغي أن يمكن تهيئة نسخة فارغة بتحديث كامل. لم تكن المصالحة وعداً خفياً، بل عملية قابلة للرؤية والفحص.
مع أن ترتيب الوصول العام لا يختار الفائز، ظلت بعض العلاقات السببية مهمة. طلب AM6 حفظ الترتيب بين معلومات التحكم في الوصول والبيانات التي تحكمها. وصول البيانات قبل قاعدة حمايتها قد يخلق مؤقتاً معنى أمنياً مختلفاً. فرق النص بين مصادفة النقل واعتماد السياسة الصريح.
يجب معالجة عدم تطابق المخطط والإبلاغ عنه. يشمل النسخ تعريفات المخطط وأسماء السمات وقيمها ومعلومات التحكم في الوصول والمعرفة وفضاء الأسماء، ويستثني الصفات التشغيلية الخاصة بـ DSA بصفتها تلك. يمكن أن تكون النسخة جزئية، لكن اتفاقها يجب أن يوضح المنطقة والإدخالات والسمات الداخلة فيها.
فصلت متطلبات الأمن المصادقة والتفويض والسلامة والسرية. ينبغي دعم المصادقة المتبادلة والتحقق المتبادل من التفويض والنقل المحمي. وطالبت الوثيقة أيضاً بدعم جلسات نسخ مجهولة. لم تجعل المجهول مساوياً للمصادق عليه، بل طلبت تمثيل الحالتين وآثارهما السياسية.
توضح RFCs اللاحقة التسلسل الزمني ولا تثبت التنفيذ الكامل. أعادت RFC 4510 وRFC 4511 وRFC 4512 تنظيم مواصفات LDAP التقنية. عرفت RFC 4533 مزامنة المحتوى، ثم عرفت RFC 5805 المعاملات. لا تعني هذه المجاورة أن جميع متطلبات تعدد السادة في RFC 3384 تحققت دفعة واحدة.
وتكشف المقارنة مع RFC 3383، المنشورة قبلها مباشرة، سطحين مختلفين للتنسيق. نظمت RFC 3383 سياسات تسجيل معرفات امتدادات LDAP لتقليل تصادم الأسماء. أما RFC 3384 فسألت كيف تتصالح نسخ حين تتصادم تغييرات مشروعة عبر الزمن. الأولى تحكم دخول الاسم؛ والثانية تحفظ دليل الاختلاف على الحالة.
تشرح عدسة «المواصفة الأولية الدنيا» لدى Lu Heng كيف تكون وثيقة المتطلبات نافعة من دون أن تختار كل خوارزمية. تستطيع أن تثبت الضرر الممنوع: لا سلطة لترتيب الوصول، ولا فقدان صامت، ولا قرار بلا طريق للمراجعة. يبقى اختيار الوسيلة محلياً، لكن حرية الاختيار لا تشمل حرية محو مادة الاعتراض.
أما عدسة طبقات الواقع فتفصل بين قبول الكتابة ونقل التحديث واكتشاف التعارض واختيار القيمة الحية وحفظ الخاسرة ووصول الإخطار وقرار الإنسان. هذه حقائق متعددة. اختزالها في كلمة «متقارب» يجعل مقياساً تقنياً يتكلم باسم حوكمة لم يثبتها.
درس RFC 3384 الباقي هو الحذر من تقارب نظيف أكثر مما ينبغي. يستطيع النظام الموزع صنع جواب واحد بمحو التاريخ الذي يسمح بالطعن فيه. حفظ القيمة الخاسرة حوّل الاستبدال الصامت إلى قرار قابل للتدقيق. يمكن للنسخ أن تتفق من دون أن تتظاهر بأنها لم تختلف قط.
المصادر
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
