كل مركز وجود يملك خلية من المستوى
تبليط فوروينوي
ضع N نقطة (مراكز وجود: نقاط الحضور) على مستوى. ارسم حدود المناطق بحيث تُسند كل نقطة في المستوى إلى أقرب مركز وجود. النتيجة هي مخطط فوروينوي: ينقسم المستوى إلى N خلية، واحدة لكل مركز وجود، تحتوي كل منها على جميع النقاط الأقرب إلى مركزها من أي مركز آخر.
هندسة CDN: يُوجَّه طلب كل مستخدم إلى أقرب مركز وجود. يخدم كل مركز وجود خلية من المستوى الجغرافي. حدود الخلايا هي المنصفات العمودية للخطوط بين مراكز الوجود المجاورة.
القراءة الهندسية:
- إضافة نقطة وجود (PoP) تقلّص خلايا جيرانها (وإنشاء خلية جديدة)
- إزالة نقطة وجود (PoP) تجبر خليتها على إعادة التوزيع إلى الجيران (موجة سعة عند الجيران)
- قد ينتقل مستخدم قريب من حدود الخلية بين نقاط وجود (PoP) مع تغيّرات موازنة الحمل
- تعطل نقطة وجود (PoP) واحدة يكبّر الخلية الفعلية لكل جيرانها أثناء فترة العطل
النتيجة التشغيلية: عند تعطل نقطة وجود (PoP)، لا يختفي حملها؛ بل يهاجر إلى نقاط وجود (PoP) مجاورة. إذا كانت الجيران مُقاسَة فقط لخلية عادية، فإن الموجة تُعطّلهم بدورهم (تعطّل متسلسل لنقاط وجود). تُقاس نقاط وجود لدى مزودي CDN الناضجين مع مراعاة موجة تعطل الجيران.
متباينة المثلث التي لا يمكنك التحايل عليها
الفيزياء تحدد الحد الأدنى
يسافر الضوء بسرعة ~300,000 كم/ثانية في الفراغ. وفي الألياف البصرية، تبلغ سرعته حوالي 200,000 كم/ثانية بسبب معامل الانكسار. وهذا يعني:
- ~1,000 كم من الألياف البصرية = ~5 مللي ثانية باتجاه واحد = ~10 مللي ثانية ذهابًا وإيابًا
- من الساحل إلى الساحل في الولايات المتحدة (~5,000 كم) = ~50 مللي ثانية كحد أدنى لوقت الاستجابة (RTT)
- من الولايات المتحدة إلى أوروبا (~8,000 كم) = ~80 مللي ثانية كحد أدنى لوقت الاستجابة (RTT)
- النقطتان المتقابلتان (نصف محيط العالم) = ~200 مللي ثانية كحد أدنى لوقت الاستجابة (RTT)
هذا هو الحد الأدنى. يكون وقت الاستجابة الفعلي (RTT) دائمًا أكبر (بسبب القفزات عبر الموجّهات، والتبديل، والتراصف في الطوابير، والازدحام). لا يمكن لأي تطبيق أن يكون أسرع مما تسمح به قوانين الفيزياء.
متباينة المثلث
بالنسبة لعُقدتين A و B و C، تنص متباينة المثلث على أن d(A,C) <= d(A,B) + d(B,C): المسار المباشر أقصر من (أو يساوي) أي مسار غير مباشر.
التفسير الشبكي: إذا كان خدمتك يوجّه الطلبات من A -> B -> C بدلاً من A -> C مباشرة، فإن زمن الاستجابة يكون على الأقل مجموع أزمنة الاستجابة للمرحلتين. وغالبًا ما يكون أكبر بسبب المعالجة عند B.
القراءة المعمارية: كل مستوى من مستويات التحويل (الوكيل، موزّع الأحمال، قفزة CDN) يضيف ساقًا واحدة على الأقل من ذهاب وإياب إلى زمن الاستجابة المدرك للمستخدم. يأتي فائدة CDN من تقصير ساق المستخدم (كون نقطة وجود PoP أقرب من الأصل)، حتى مع ارتفاع عدد القفزات الإجمالي.
فخاخ المناطق المتعددة: الخدمة التي تقرأ من المنطقة أ وتكتب إلى المنطقة ب تتحمل زمن استجابة من أ إلى ب مع كل عملية كتابة. إذا كانت المسافة بين أ و ب 100 مللي ثانية، فإن كل عملية كتابة تستغرق 100 مللي ثانية كحد أدنى. تدفع قواعد البيانات الممتدة هذا الحد الأدنى في كل مرة.
ادفع الحد الأدنى
تعمل الخدمة في منطقتين: شرق الولايات المتحدة (us-east-1) وغرب أوروبا (eu-west-1). المسافة بين المنطقتين حوالي 5,500 كيلومتر. تحتوي الخدمة على قاعدة بيانات رئيسية في شرق الولايات المتحدة. يتم تقديم طلبات المستخدمين الأوروبيين بواسطة خوادم خلفية في غرب أوروبا، لكن كل عملية كتابة تتطلب استدعاءً إلى الخوادم الرئيسية في شرق الولايات المتحدة.
تصميم السعة الجغرافية
التوليف
يمكنك الآن قراءة خلايا فورونوي كمناطق استقطاب لنقاط الحضور (PoP)، وحساب حدود زمن الاستجابة الدنيا (Speed-of-light latency floors)، وتطبيق منحنى الطوابير على مستوى الوكيل (proxy tier).
طبّق جميع العناصر الثلاثة.
تخطط فريق لتغطية شبكة توزيع المحتوى (CDN) لخدمة لديها مستخدمون في ثلاث قارات: أمريكا الشمالية (60% من المستخدمين)، أوروبا (30%)، آسيا (10%). لديهم ميزانية مخصصة لـ 6 نقاط وجود (PoPs). يمكن لكل نقطة وجود تقديم خدمة خلية مستقرة عند استغلال بنسبة 70% دون تجاوز ركبة منحنى الطوابير.
إغلاق الدورة المصاحبة
إغلاق الدورة المصاحبة
لقد أكملت جميع دروس "هندسة الجبر" الخمسة المصاحبة:
- الوكلاء والمصادر: الرسوم البيانية الموجهة، عدد القفزات، التجمع / التفرع، غير المباشر
- التوسع الأفقي غير الحافظ للحالة: قانون ليتل كمساحة، منحنى الطابور ونقطة انحنائه
- فصل الدخول والخروج: البنية الثنائية، إزالة رأس القطع، تحمل التقسيم
- أنماط الفشل ونصف قطر الانفجار: مركزية العبور، القطع الأدنى، القطر
- القابلية للمراقبة والسعة (هذا الدرس): خلايا PoP وفق نموذج فورونوي، الحد الأدنى مثلث الكمون، تصميم السعة الجغرافي
الخط الرئيسي: الأنظمة الموزعة لها بنية هندسية. كل معمارية هي رسم بياني. كل حد أدنى للكمون هو متباينة مثلثية. كل قرار سعة هو منحنى ونقطة انحناء. بمجرد أن ترى الهندسة، فإن القرارات التشغيلية تتبعها منطقيًا.
بالاقتران مع الدروس الخمسة الرئيسية (cs_distsys_*)، لديك الآن نموذج ذهني عامل لنظام موزع على نطاق الويب، والانضباط المستند إلى نظرية الرسوم البيانية للتفكير فيه.
أحسنت.