المعروف في التاريخ من معظم خوارزمية غامضة باكسوس، كيف يكون ودود؟

علي شقيقة استعراض: باكسوس (توزيع خوارزمية الإجماع) بوصفها حجر الزاوية في نظام توزيع، كان موضوعا ساخنا في مجال هندسة أنظمة الحاسوب. ومن المعروف باكسوس الخوارزمية كما الأصعب أن نفهم، في الواقع، انها حقا صعبة للغاية؟

"X-باكسوس" علي بابا قاعدة بيانات فريق المنحى عالية الأداء، والانتشار العالمي والخصائص التشغيلية علي وغيرها من الاحتياجات، لتحقيق مستوى الأداء وتوزيع قوية أساس ثابت باكسوس مكتبة مستقلة. X-باكسوس ما هي مزايا محددة للنظم الحالية تعطي ما المزايا التي تحققها؟

خلفية

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

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

صناعة

وقد وضعت على الرغم من باكسوس النظريات إلى الأمام 17 عاما، وحققت الآن 11 عاما من صناعة باكسوس الأولى، ولكن حتى السنوات الأخيرة، فإن كلا من اجتماع رئيس الوزراء، أو صناعة، المواد والبنود ذات الصلة باكسوس أو لآخر.

التفت إلى هذه الصناعة، على الرغم من أن استخدام باكسوس وأصناف مختلفة من المنتجات كانت لا نهاية لها، ولكن الحقيقي الصناعي الصف، مستقل، باكسوس الأساس مكتبة لا تزال نادرة جدا: جوجل لم تفتح أي مكتبة تأسيسها باكسوس (باكسوس حتى تشمل المشاريع لم المصدر المفتوح أيضا)؛ ولم تصدر الفيسبوك أي منتج يحتوي على باكسوس، أباتشي ديه حارس الحديقة، لكنه لا يدعم جهاز الدولة بروتوكول لنسخ إنتاجية عالية، ولا يوفر المكتبات طرف ثالث مستقل، للوصول السريع.

باكسوس مكتبة مستقلة ويمكن الاطلاع على جيثب، وهي أعلى نجمة في العام الماضي phxpaxos تينسنت مفتوحة المصدر (سوف يكون النص كما مقارنة تفصيلية من المنتجات المنافسة).

حتى الآن صناعة نادرا ما ثبت، مكتبة باكسوس طرف ثالث مستقل للاستخدام السريع ومفتوحة المصدر باكسوس البيئة لحد الآن لم تنضج.

X-باكسوس

رؤية

وكان لدينا نية عدم القيام باكسوس المكتبات العامة، X-باكسوس ولد في قاعدة بيانات علي بابا توزيع AliSQL X-العنقودية، ولكن X-باكسوس لا تنتمي AliSQL X-العنقودية. باكسوس هو حجر الزاوية في النظم الموزعة، X-باكسوس يمكن استخدامها لحل مجموعة واسعة من الاتساق في النظم الموزعة.

ولذلك، فإن تصميم كامل وزعت بداية قاعدة البيانات، قمنا بتصميم وتوزيع بروتوكول إجماع وحدات مستقلة، وأنها مستقلة عن X-باكسوس. X-باكسوس هو AliSQL X-العنقودية يحل مشكلة الاتساق توزيعها، والشيء نفسه يمكن توزيعها بسرعة إلى أنظمة أخرى يعطي القدرة الاتساق.

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

على سبيل المثال: الطلاب في فريق X-باكسوس في قاعدة بيانات قائمة بذاتها RocksDB KV، وتنفيذ سريع للمحرك KV الموزعة. تمتلك مجموعة فريق العمل لفريق نظام التخزين X-باكسوس في الأعمال التجارية، لبناء خدمات جديدة للتخزين وزعت متسقة قوية.

في الوقت نفسه أنه هو أيضا AliSQL X-العنقودية، إنجازات X-باكسوس. ورقة غوغل "صنع باكسوس العيش" على حد تعبير بعض من البئر، ومفادها أن: باكسوس هناك فجوة كبيرة بين نظرية لتحقيق العالم الحقيقي، عندما حقا باكسوس، وغالبا ما تتطلب النظرية الكلاسيكية للباكسوس القيام ببعض التوسع (وخاصة في تحقيق أعلى مستوى أداء باكسوس عند نقطة تمديد أكثر من ذلك، يمكنك الرجوع إلى النص من التحسينات وتحقيق الأداء الأمثل)، والتي غالبا ما تؤدي إلى باكسوس الحقيقية تدرك هي في الواقع لا تستند أنها على ثبت تماما الاتفاق.

هذا هو أسطورة، لتحقيق الإثبات النظري لباكسوس، باكسوس السبب في هذا هو أكثر صعوبة لتحقيق مما كانت عليه في. وبالتالي فإنه من الصعب تحقيق تنضج باكسوس ولدت بشكل مستقل، وغالبا ما تتطلب مجموعة من الأنظمة، عبر نظام واحد أو أكثر للتحقق من موثوقية واكتمالها. هذا هو السبب في معظم الحالات هي تنضج باكسوس وقواعد البيانات الموزعة الجمع، على سبيل المثال، لتحقيق أقرب باكسوس (السمين)، وباكسوس الرئيسية الحالية تحقيق (جوجل ميغاستور، المفك، DynamoDB AWS، وS3، وما إلى ذلك). تعتمد على X-باكسوس على AliSQL X-العنقودية التحقق من موثوقيتها واكتمالها.

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

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

X-باكسوس البناء الشامل كما هو مبين أعلاه، فإنه يمكن تقسيمها إلى طبقة الشبكة، طبقة الخدمة، وحدة الخوارزمية، وقسم وحدة تسجيل 4

طبقة الشبكة

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

طبقة الخدمة

طبقة الخدمة هي أساس محرك الأقراص بأكمله تشغيل باكسوس، باكسوس يوفر الحدث يحركها، رد توقيت وغيرها من المهام التشغيلية الأساسية، كل طبقة لها حملة لتحقيق باكسوس ترتبط ارتباطا وثيقا، بشكل وثيق الهندسة المعمارية وأداء يحركها طبقة والاستقرار ذات الصلة.

طبقة الخدمة X-باكسوس هي متعددة الخيوط إطار غير متزامن على أساس C ++ 11 منشأة تحقيقها. الدولة المشتركة نموذج الآلة / رد ديه الكفاءة المنخفضة التنمية، قراءة والفقراء، وتعرض لانتقادات من قبل المطورين، وcoroutine أيضا بسبب عنق الزجاجة في ترابط واحد، وتطبيقه وسيناريوهات محدودة. بعد النسخة الجديدة من 11 C ++ يوفر الأمام الكمال (حجة الشحن)، والحجج قالب متغير (قوالب variadic) وغيرها من الميزات، ويوفر إمكانية بالنسبة لنا لتحقيق نموذج الاحتجاج غير متزامن جديد.

على سبيل المثال، وهذا هو خط الفعلي X-باكسوس التي تم إنشاؤها ضمن رمز مهمة مجدولة واحد

جديد ThreadTimer (srv_- > getThreadTimerService ()، srv_، electionTimeout_، ThreadTimer :: Oneshot،

وباكسوس :: checkLeaderTransfer، هذا، targetId، currentTerm_.load ()، log_- > getLastLogIndex ())؛

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

وحدة خوارزمية

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

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

وحدة السجل

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

التحسينات

جنبا إلى جنب مع مجموعة واسعة من سيناريوهات الأعمال، لبناء نظام بيئي مفتوح

1. إضافة اون لاين / العقد الحذف، بيع على الانترنت زعيم

X-باكسوس على أساس معيار باكسوس متعددة على الدعم عبر الإنترنت إضافة / حذف العقد في مجموعة متنوعة من الأدوار، الدعم عبر الإنترنت بسرعة نقل عقدة القيادة إلى (الانتخابات الرئيسية) الأخرى.

2. استراتيجية الأغلبية والوزن من الانتخابات التمهيدية

مجموعة والنمل الحالية بنية مركزية لديه العديد والعديد من التطبيقات بسبب خصائص الانتشار، وغالبا ما يتطلب ذلك في حالة من التعافي من الكوارث على مستوى المدينة لا يحدث، وكتب فقط إلى قاعدة البيانات في المركز، أو الاتصال الخدمات الموزعة الأخرى؛ في نفس الوقت مستوى المدينة يتطلب في حال التعافي من الكوارث في حالة (عدد وافر من غرف مع كل المدينة لم يعد متوفرا)، قد يكون تماما دون أية خسارة للبيانات، وسوف تكون مكتوبة إلى نقطة التحول غير المركزية.

وباكسوس متعددة الكلاسيكية لا يمكن تلبية هذه الاحتياجات. النظرية الكلاسيكية، والغالبية العظمى يمكن أن تكتمل بعد يلتزم متزامن قوية، ولكن الغالبية هم غير محددة، ويستطيع لا يضمن أن أي واحد / بعض العقد سوف تكون قادرة على الحصول على بيانات كاملة، وتفعيل الخدمة. في التطبيق العملي، وغالبا جغرافيا العقدة أقرب سيكون لها بيانات متسقة قوي، والعقدة البعيدة جغرافيا، وكانت عقدة في كثافة غير موحدة، لا تنشيط عندما التعافي من الكوارث عقدة رئيسية، لا طائل منه.

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

X-باكسوس لتحقيق استراتيجية الأغلبية والحقوق المنصوص عليها في اتفاقية إعادة الانتخابات الأولية. واستنادا إلى سياسة الأكثرية ، يمكن للمستخدمين حيوي تكوين، تحدد / يجب أن بعض العقد حفاظ على البيانات قوي وثابت، في أوقات احتياجات التعافي من الكوارث، ويمكن تنشيط فورا عقدة رئيسية. على أساس الوزن من الانتخابات التمهيدية يمكن للمستخدم تحديد كل عقدة السيادة إعادة انتخابه، إلا عندما يكون وزن عال من كافة العقد غير متوفرة، سيتم تنشيط عقدة الوزن منخفضة.

3. التخصيص عقدة دور ( الاقتراح / القابل / المتعلم التكوين مستقل)

في تنفيذ عدة باكسوس كلاسيكي، كل عقدة تحتوي العامة العطاء / القابل / المتعلم ثلاث وظائف، ولكل عقدة العقد وظيفية بالكامل. ولكن في بعض الحالات التي لا تحتاج الى كل من العقد لديها كافة الميزات، مثل:

1. ثلاث نسخ الكلاسيكية للنشر، ونحن يمكن أن يقلل حالة عقدة واحدة من الجهاز، ولم يتبق سوى سجلات (سجل عقدة البيانات لا النقية، ولكن وفقا لحسابات في غالبية التزامن)، ثم نحن بحاجة لقطع الاتفاق وظيفة الاقتراح (المنتخب)، والاحتفاظ القابل والمتعلم وظيفة.

2. ونحن نأمل أن يكون عدة نقاط يمكن أن تكون بمثابة المصب، والاشتراك بروتوكول دفق سجل / المستهلك إنتاج، بدلا من أن تكون عضوا الكتلة (لا تحسب الأغلبية، لأن هذه العقد لا يتم حفظ تيار سجل)، ثم نحن قص اتفاق مقدم الاقتراح / وظيفة القابل، ولم يتبق سوى وظيفة المتعلم

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

4. الشاهد SDK

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

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

تيار سجل لخلق، على سبيل المثال، في SDK AliSQL X-العنقودية الإيكولوجية:

باستخدام X-باكسوس الشاهد SDK يمكن أيضا أن تستخدم لتحقيق الالتحام النظم الموزعة بسرعة وغيرها من النظم المصب، وتشكيل نظام بيئي كامل.

نحن نأخذ النسخ الاحتياطية سجل في الخلية (binlog)، على سبيل المثال:

برنامج عامة

كل فترة معينة والسل، وحفظ ملفات الخلية binlog مما أدى إلى نظام النسخ الاحتياطي المستمر (OSS، S3، الخ)

RPO (الاسترداد PointObjective) هو السل

برنامج SDK

X-باكسوس بدعم من SDK الاشتراك تدريجية تسجيل نظام النسخ الاحتياطي يتطلب سوى الالتحام بسيطة لتحقيق تيار تدفق من SDK OSS، يمكنك تحقيق النسخ الاحتياطي المتدفقة

RPO (الاسترداد PointObjective) هو الآخر من 0 النسخ الاحتياطي، والجوانب الشاهد SDK تغذية تدفق المصب (جمهورية الكونغو الديمقراطية)، ونظام خادم ذاتية الإغلاق (X-سائق)، الذي أعد من قبل مكتبات للقراءة فقط متزامنة هي الحالات الفعلية، المزيد من التطبيقات في حالة استمرار لإضافة في.

الأداء الأمثل

لقد تم مقتنعا بأن التأخير لا ينبغي أن يؤثر شبكة الإنتاجية

1. الخلط والنقل بواسطة خط أنابيب

باكسوس بالإضافة إلى تصميم قوي وثابت توافر عالية في بداية أدائها العالي أمر بالغ الأهمية، وخاصة تطبق على AliSQL X-العنقودية هذا الأداء العالي قواعد البيانات الموزعة، للتعامل مع البروتوكولات، وقد أثار تأخر جدا ارتفاع الطلب. في نفس الوقت الذي نشر عالمية موزعة بروتوكول الآراء، تحديات الأداء في استتار عالية، يصبح من المهم بشكل خاص.

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

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

النقل بواسطة خط أنابيب يشير إلى الرسالة التي تم إرجاعها النتائج السابقة، والرسالة المتزامنة أحيلت إلى آلية للعقدة المقابلة، من خلال زيادة عدد (عدد الخطوط الأنابيب) وينقل الرسالة، يمكن أن تقلل بشكل فعال المتزامنة واحد طلب تأخير، في حين أن تأخير نقل أقل من الوقت propagationdelay (استتار عالية عالية الإنتاجية الشبكات)، وتحسين الأداء على نحو فعال.

الخلط يفهمها الاشتقاق (رسالة الحجم: M) وPipeling (رسالة المتزامنة: P) في العلاقة التالية، وهي أعلى إنتاجية

M / R * P = D

حيث R هو النطاق الترددي للشبكة، شبكة D تأخير نشر (تأخير نشر ما يقرب من RTT / 2) X-باكسوس جنبا إلى جنب مع نظرية أعلاه، المدمج في الكشف، لتأخير نشر العقد المختلفة، والتكيف التكيف لكل عقدة والتجزئة Pipeling المعلمات لتحقيق أقصى قدر من الإنتاجية الشاملة.

Pipeling قدم، فإنه من الضروري حل مشكلة تسجيل الخروج من النظام، خاصة في سيناريوهات النائية، وزيادة نافذة، مما يزيد من احتمال خارج الترتيب. X-باكسوس تحقيق من كفاءة وحدة تجهيز النظام لا يمكن أن تتحقق الدرع على سجل مشكلة اضطراب الأساسي، تسجيل الخروج من أجل تحقيق تخزين فعالة.

2. متعددة الخيوط، غير المتزامن بالكامل باكسوس مخزن

تصبح باكسوس نظرا لتعقيد الحالة الداخلية باكسوس، لكفاءة مثيل واحد متعددة الخيوط تحديا كبيرا جدا. إذا كانت جيثب نجمة ذكرنا أعلاه الأكثر phxpaxos، أو استخدام أوراكل الخلية المجموعة النسخ المتماثل XCOM، وهم تنفيذ ترابط واحد . phxpaxos باستخدام الخيوط قسم واحد، وحالات متعددة من البلمرة لتعزيز الإنتاجية مجموعه الطريقة، وإنما هو أداء محدود جدا من قسم واحد، و XCOM لأنه يقوم على coroutine تنفيذ ترابط واحد. يتم تنفيذ باكسوس تنفيذ ترابط واحد، وقت المعالجة من التسلسل / إلغاء التسلسل، والتوزيع، وغيرها من التعاقد المنطق متسلسل، اختناق أداء كبير.

X-باكسوس يستند كليا على خاصية تعدد، يمكنك استخدام خاصية تعدد القدرات الكاملة في قسم واحد باكسوس، جميعا مهمة مشتركة من woker إلى المدى، والقضاء على وحدة المعالجة المركزية عنق الزجاجة. يعتمد على طبقة خدمة غير المتزامن إطار متعدد الخيوط وطبقة الشبكة غير متزامن، X-باكسوس بالإضافة إلى البروتوكول اللازم لنقطة المسلسل، ومعظم العمليات لا يمكن أن يؤديها في وقت واحد، وجزئيا باستخدام تصميم غير نقطة بروتوكول المسلسل قفل يمكن استخدامها بشكل فعال متعددة خيوط القدرات، لتحقيق قسم واحد من باكسوس قدرات خيوط متعددة، وأداء قسم واحد من المنتجات المنافسة، بل وأكثر من أداء المنتجات المنافسة التقسيم المتعدد التقسيم.

3. محلية ContentDistribution إدراكا

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

X-باكسوس هو اتفاق قوية لمعالجة المشكلة العالمية المتمثلة في باكسوس توزيع مكتبة مستقلة، وقد صمم مع النظر في هذه القضية. سوف X-باكسوس في عملية ثابتة للدولة يكون تأخير شبكة علم بين العقد منها (المسافة المادية)، وتشكيل الهيكل سلسلة لتقليل الحمل من عقدة رئيسية، وصلة للحد من استخدام عرض النطاق الترددي طويلة تمر، والعقد لديهم شذوذ الوقت، سيتم تلقائيا إعادة الهيكلة طوبولوجيا، وضمان نظرائهم طبيعية بين مختلف العقد على قيد الحياة. بينما X-باكسوس تدعم الأعمال لقواعد معينة لإعادة هيكلة الهيكل، وحركة المرور يمكن استهداف على أساس العمارة نشر وتأخير خصائص قواعد مجموعة طوبولوجيا إعادة هيكلة الخاصة APP ل.

4. سجل للتوصيل

X-باكسوس ومعظم باكسوس المكتبة الموجودة الفارق الكبير هو أن X-باكسوس وحدة تسجيل للتوصيل. باكسوس وحدة السجل هي وحدة مهمة، ويرتبط استمرارها لاتساق البيانات وقراءة وأداء الكتابة إلى حد كبير وسوف تؤثر على أداء القراءة والكتابة من اتفاق شامل. معظم المكتبات باكسوس مستقلة الحالية مبنية حدة السجل، ولا تدعم في المكونات. وسيؤدي هذا إلى اثنين من العوائق:

1. وحدة السجل الافتراضي يوفر وظائف المشتركة، والنظام هو من الصعب القيام به في اتصال مع محددة تستهدف التحسين

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

على سبيل المثال: phxpaxos وحدات LevelDB المدمج في السجل، ونظام السجل كما عملها الكثير من زائدة، غير الأمثل للالقلق الأداء؛ phxpaxos أثناء استخدام عقدة واحدة يحتاج phxsql أي حفظ binlog، وإنقاذ باكسوس السجل (في phxbinlogsvr منفصلة في)، له تأثير خطير الأداء، ومساحة التخزين الضائع. استخدام X-باكسوس تحول AliSQL X-العنقودية binlog المباشر من وحدة القائمة، لتلقي X-باكسوس وحدة السجل، فقط سجل عقدة واحدة، أي الحد من التخزين، ويحسن الأداء.

التحقق صحة الموزعة

للتوصل إلى اتفاق إجماع قوي الموزعة، صحة شريان الحياة. كما سبق ذكره، اتفاق إجماع قوي توزيع، فمن الناحية النظرية صعبة لإثبات صحتها كاملة، إلى جانب تحقيق المشاكل الهندسية، والصعوبات حتى أكثر من ذلك. X-باكسوس لنا التأكد من صحة واكتمال مع الكثير من الوسائل النظرية والتقنية من جانبين من جوانب نظرية والهندسة.

1. جيبسن

هو أكثر المعترف بها جيبسن مجتمع المصدر المفتوح اختبار إطار لقواعد البيانات الموزعة. جيبسن التحقق من حزمة VoltDB، CockroachDB، غاليرا، MongoDB، etcd، بما في ذلك جميع تقريبا رئيسيا توزيع قاعدة بيانات / النظام، اختبار بها الكثير من المشاكل.

الانتهاء X-باكسوس وجيبسن بعقب، والتحقق من أن القضية الحالية لكل قاعدة بيانات الموزعة.

2. TLA +

TLA + هو مؤسس باكسوس، وهو رسمية اللغة مواصفات جائزة تورينج الفائز ليزلي لامبورت الأب الاختراع. TLA + مخصصة لتصميم نموذج والتحقق من توزيع أنظمة المتزامنة. وقد وجدت الأمازون DynamoDB / S3 / EBSMicrosoftCosmos DB الكثير من المشاكل التي TLA + التحقق من صحة النموذج

مرت X-باكسوس الآن نموذج التحقق من TLA +.

نظام 3. الشذوذ عشوائية

نحن انشاء الشذوذ عشوائية تحقق تلقائية النظام يمكن أن تحقق تلقائية صحة البروتوكول والاستقرار في ظل المشهد استثناءات المختلفة. تحقق X-باكسوس التناظرية فقدان شبكة الحزمة، فلاش، والعزلة، وظيفة في حالة فشل القرص الصحيح وبيانات متسقة.

4. نظام عودة غير طبيعي

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

تنافسية تحليل ومقارنة

XCOM (الخلية المجموعة النسخ المتماثل)

الخلية GroupReplication غاليرا غير مسؤول الخلية تعتمد على فكرة لبناء المكونات في المجموعة الموزعة الاتساق قوي على الخلية. وزعت الخلية المجموعة النسخ المتماثل يستخدم بروتوكول وقت مبكر CoroSync، والتي تم تطويرها من قبل الطوطم ريد هات يؤسس (الترتيب الطوطم واحدة الدائري وMembershipProtocol) وزعت بروتوكول التماسك مكتبة بروتوكول المتقدمة؛ الطوطم الخوارزمية نفسها بسبب وجود بعض القيود يمكن أن يسبب من الخلية 5.7.9، واستخدام الرسمي للبروتوكول الاتساق مكتبة XCOM البحث والتطوير من باكسوس أساس طبقي (منسيوس) بك هو.

XCOM هو العنصر الأساسي الخلية المجموعة النسخ المتماثل، ودعا مجموعة الاتصالات الأساسية . قمنا بتحليل مصدر XCOM، والنظام الداخلي XCOM هو محض لغة C وحدات مترجم الأساسية فضلا عن تنفيذ كيل C ++ لتحقيقه. نقية وحدة C يقودها موضوع واحد، وشارك في إجراءات تنفيذها جدولة التابعة. وهكذا العميل (الخلية GroupReplication المساعد) يجب أن تقوم بإرسال طلب للاتصال XCOM باستخدام برنامج التعاون الفني. لذلك وجود أوجه القصور التالية XCOM:

1. محرك ترابط واحد، لا قدرات متعددة خيوط

القرارات المعمارية، فمن الصعب اختراق

تتطلب 2. تدفقات حركة المرور في الوقت الإضافي مكدس البروتوكول TCP

تطبيق نسخ الذاكرة لديها حساب على ما يرام، والاتصالات شبكة متعددة بين المواضيع يصعب قبوله

3. XCOM على الرغم من أن تتحقق للتجزئة والأنابيب المتنوعة، ولكن يتم إصلاح القيم قيمهم، فإنه من الصعب على التكيف مع المشهد الحقيقي

ذكر ثيقة رسمية أيضا هذا

كما أنه يجعل منطقة النسخ المتماثل الخلية المجموعة عبر المشهد بعيدا عن الأداء المثالي (انظر AliSQL X-العنقودية اختبار المقارنة)

phxpaxos (phxsql)

أطلقت phxpaxos تينسنت بناء على اتفاق باكسوس مكتبة مستقلة، بعد إطلاق مشروعها phxsql و MySQL الجمع، وأيضا على أساس الخلية لتحقيق موحدة قوية وزعت الخلية العنقودية. phxpaxos استخدامها بشكل مستقل لمشاريع أخرى، ويعمل حاليا أكبر نجم على جيثب (1000+) من مكتبة مستقلة باكسوس. هذه التفاصيل ورقة حول phxsql السرد لم يعد، والرجوع إلى (قسم تحليل المنافسة من AliSQL X-العنقودية)، حيث نقوم بتحليل phxpaxos الرئيسية.

phxpaxos أيضا على أساس مكتبة مستقلة متعددة باكسوس تنفيذها، باكسوس تصميم واحد يستخدم دعم ترابط واحد على هندسته المعمارية، ولكن لالمتعدد التقسيم باكسوس لتوسيع قدرات خيوط متعددة، قبل هذا التمديد ضرورة المزيد من البيانات التقسيم. لذلك أوجه القصور phxpaxos على النحو التالي:

1. واحدة فقط باكسوس دعم كائنات ترابط واحد، ويمكن كائنات باكسوس دعم متعددة طبقة الشبكة المشتركة

2. لا تدعم خط الأنابيب، عبر بيئة المنطقة (استتار عالية)، وغير متوفرة تقريبا

3. متعددة سجل التكرار، والقائمة على نظام اليوم LevelDB اختناقات الأداء

مقارنة الأداء

phxpaxos تينسنت نأخذ لدينا المنتجات المنافسة مقارنة (XCOM أي جمعية مستقلة، مقارنة نتائج الاختبار يمكن بشكل غير مباشر إشارة و MySQL المجموعة النسخ المتماثل من AliSQL X-العنقودية)

كنا 3 العقد المنتشرة في A ب) المنطقة) المقبل 3 المنطقة كل نشر عقدة قابل للتعديل لأحجام مختلفة من طلب قياس الضغط.

2 يمكن أن يرى من الرسم البياني مقارنة أعلاه:

مع منطقة 1. أداء X-باكسوس أكثر من 100 مرة في phxpaxos

2. منطقة عبر المشهد تحت phxpaxos غير متوفرة تقريبا في X-باكسوس 444Byte (sysbench إدراج مشهد واحد الحجم المطلوب)، وانخفاض 3.5 فقط في الأداء لا يكاد يؤثر على الإنتاجية.

الحاضر والمستقبل

وضع راهن

حاليا لقد تم الافراج X-باكسوس واحد على الانترنت.

واستنادا إلى X-باكسوس الفريق المنتج قاعدة بيانات مجموعة AliSQL X-العنقودية استخدمت على نطاق واسع داخل المجموعة.

X-باكسوس وأنظمة العمل يجتمعان لبناء أيضا قد هبطت على خط الخدمات الموزعة.

مستقبل

باكسوس هو حجر الزاوية في نظام توزيع، حتى في السنوات الأخيرة، ومقالات أكاديمية حول باكسوس، وتطور جديد في نفس الاتجاه سيستمر في الظهور، سيكون لدينا X-باكسوس تتوقف التنمية من أجل أفضل على التكيف مع الجماعات الداخلية والخارجية الطلب، والاتجاه الرئيسي التالي التنمية على النحو التالي:

كفاءة السامية، والدعم التقسيم متعددة

باكسوس أقسام متعددة تستند إلى إطار غير متزامن الجديد، لتحقيق عمق الأساسية المشتركة

قوية متعددة عقدة للقراءة متسقة

الكلاسيكية باكسوس متعددة فقط على زعيم لتقديم قراءة متناسقة قوية، مفتاح البراغي والصناعة لديها عدد من البرامج لتقديم قراءة متناسقة قوية على العقد متعددة، ولكن هناك عيوب واضحة.

وأخيرا، سواء بالنسبة لل باكسوس طلاب الراغبين في الاتفاق، أو ترغب في معرفة المزيد عن استخدام أو X-باكسوس يمكن للطلاب الاتصال بي في تدوين (@ شياو تشيانغ -zju) مرحبا بكم في الصرف، والتعلم من بعضهم البعض!

المواد المرجعية

البرلمان بدوام جزئي

لوك الخدمة والسمين النظم الموزعة forloosely يقترن-

باكسوس صنع بسيط

باكسوس صنع لايف - AnEngineering منظور

كل ما من أي وقت مضى Wantedto تعرف إلى الإختفاء رسالة

خوادم التكيف التجزئة forReplicated

ضبط باكسوس forhigh-الإنتاجية مع الخلط والنقل بواسطة خط أنابيب

الطوطم بروتوكول ringordering واحد وعضوية

مجموعة النسخ المتماثل: AJourney إلى الاتصالات المجموعة الأساسية

منسيوس: بناء EfficientReplicated آلات الدولة لشؤون الشبكات الواسعة

تم إنهاء فريق كافالييرز ، لكن جيمس تنهد: إنني أشعر بالفضول لأن Oladipo قد دُفن لفترة طويلة!

2 صفقة كبيرة للسماح للجماهير الأثرياء مجنون! الدماغ الساخن المشترين تسليم العرض، الباعة يرفضون ثواني دوخة!

كأس العالم فريق أسفل الترتيب إنتاج: 3 معركة 0 نقطة الخروج، من فريق كرة القدم الصينية لإكمال الهدف

مانشستر يونايتد لا توقع هذا الشهر مورينيو يريد القوي دون سبب! هذه البيانات تؤكد الحاجة الملحة جيدة مدافع مانشستر يونايتد

خطوة غير متوقعة، حتى مما تسبب في السيارة لا يمكن أن تبدأ؟

عمق | حالتين، فهم طليعة تطبيقات AI في مجال البيانات الكبيرة

تعزيز النموذج الاقتصادي المشترك، فورد ترانزيت الأساسية أوروبا خدمة نقل مجانية لرؤية معرض شنغهاي للسيارات

الاستمرار في تأجيل عودة! الممارسات بوبوفيتش تثير التحالف تساءل: لقد ليونارد لم يصب بأذى؟

بين استجابة الاستبداد الرئيس للشائعات ترك كابتن الفريق: يتحدثون عن العقد، وسائل الإعلام لا تجعل مشكلة

في الصيف الماضي ارتفاع في درجة الحرارة مفتش المياه "مع الملح" و "المعركة" في الخطوط الأمامية!

مانشستر يونايتد في الدوري الممتاز من الحرب يمكن أن تهاجم وسيم أسود مامو حبيبي! فريق مانشستر يونايتد تسديدته أقوى

تقع العناية بالسيارات مو أعمى، ينبغي أن تكون هذه النقاط تولي اهتماما خاصا!