Google Cloud / الأساسي: حدود الموارد والوصول / الدرس 5
المواقع ونطاقات الفشل
اختر المواقع بنطاق الخدمة والبيانات والاعتماد والفشل لا باسم المنطقة وحده.
في هذه الصفحة
أهداف الدرس
- تمييز النطاق المحلي للمنطقة الفرعية والإقليمي والمتعدد والعالمي.
- شرح الفشل المترابط ونطاق الاعتماد.
- حساب سعة اصطناعية بعد فقد نطاق.
لا يجعل التحكم العالمي كل البيانات عالمية
تتيح خدمات Google Cloud موارد ذات نطاقات مختلفة. ترتبط VM في Compute Engine بمنطقة فرعية، والشبكة الفرعية بإقليم، وتكون VPC عالمية. وتوفر منتجات أخرى اختيارات إقليمية أو مزدوجة أو متعددة أو خاصة بالخدمة. لا يحدد انتماء المورد إلى مشروع موقعا واحدا عاما لكل موارده.
ميز نطاق إدارة المورد من موضع البيانات وتكرارها ووصول العميل. قد توجه نقطة نهاية ذات اسم عالمي إلى تنفيذ أو بيانات إقليمية. اقرأ عقد موقع كل منتج قبل ادعاء الإقامة أو التوافر أو التأخير، إذ قد تختلف الميزات والإصدارات حسب المكان وتتغير بمرور الزمن.
جرد النطاق الفعلي لكل اعتماد
يعد البرنامج الأول النطاقات المعلنة في خريطة اصطناعية تضم شبكة عالمية وشبكة فرعية إقليمية وآلة محلية. قد يكشف غياب حقل الموقع من وصف التصميم، لكنه لا يثبت وجود الموقع أو دعمه للمنتج. لا يتصل المثال بأي نقطة نهاية من Google.
وسع المراجعة الحقيقية إلى قواعد البيانات والأسرار ومخازن الآثار والسجلات والمفاتيح والاعتمادات الخارجية. قد يبقى التطبيق الإقليمي معتمدا على قاعدة في نطاق واحد. لا يجعل نسخ طبقة الحساب إلى مكان آخر مسار الطلب كله مستقلا.
from collections import Counter
resources = [{"name": "network", "scope": "global"}, {"name": "subnet", "scope": "regional", "location": "us-central1"}, {"name": "vm", "scope": "zonal", "location": "us-central1-a"}]
assert all(item.get("location") for item in resources if item["scope"] != "global")
counts = Counter(item["scope"] for item in resources)
for scope in sorted(counts):
print(scope, counts[scope])
global 1
regional 1
zonal 1
يعلن مورد لكل نطاق؛ النصوص جرد لا فحص خدمة.
يحتاج فصل الفشل سعة احتياطية
يفترض البرنامج الثاني ثلاثة نطاقات مستقلة مسماة، بأربع وحدات لكل منها، وحملا يحتاج ثماني وحدات. يترك فقد أي نطاق ثماني وحدات. هذا حساب بافتراضات مخترعة لا ضمان سعة أو استقلال فشل أو SLA. يعتمد التعافي الفعلي أيضا على الحصص والسعة المتاحة والتوجيه والبداية واستعادة الحالة.
قد يعجز الأسطول الباقي عن الطلب المعتاد إذا وزعت الموارد دون احتياط. حدد حمل الذروة وسياسة التدهور وافحص أضيق اعتماد. وقد يبطل الفشل الإقليمي المترابط أو اعتماد تحكم أو بيانات مشترك نموذج فقد نطاق واحد. سم الحدث الذي يتحمله التصميم بدقة.
capacity_by_zone = {"zone-a": 4, "zone-b": 4, "zone-c": 4}
required = 8
remaining = [sum(capacity_by_zone.values()) - lost for lost in capacity_by_zone.values()]
print(f"worst_remaining={min(remaining)} required={required} fits={min(remaining) >= required}")
worst_remaining=8 required=8 fits=True
تبقي السعات المخترعة ثماني وحدات ولا تمثل حجزا سحابيا.
يتطلب موضع البيانات والتأخير مسارا كاملا
اختر الإقليم بناء على المستخدم ومتطلبات البيانات والاعتمادات والتوافر ومسارات الحركة الكاملة. قد تستدعي طبقة حساب قريبة قاعدة بعيدة. إقامة البيانات مسألة منتج وإعداد وسياق مؤسسي وقانوني؛ وليست شهادة امتثال باختيار إقليم فقط. راجع الوثائق الحالية ومتطلبات المؤسسة.
يقايض التكرار التأخير والاتساق والتعرض لفقد البيانات والكلفة. تختلف آلية متزامنة من أخرى غير متزامنة عند الفشل. لا تثبت تسمية متعددة المناطق انتقال التطبيق تلقائيا دون فقد؛ حدد النسخ الفعلية ووقت إقرار الكتابة وطريقة وصول العملاء إلى الطرف الباقي.
تسجيل قرار الموقع وفجوات التحقق
يسجل قرار الموقع الخدمة ونطاق المورد والمكان والاعتمادات وتصنيف البيانات والفشل المستهدف وأهداف التعافي وافتراضات الميزات الحالية. اذكر ما يلزم التحقق منه قبل النشر، بدلا من قائمة مناطق مزعومة الشمول أو حصص ثابتة لا تراعي المشروع.
افحص تحريك البيانات واتساق الترحيل والهوية والشبكة والنسخ والرجوع عند التغيير. ليس تحريك تسمية في رسم نقلا آمنا لقاعدة. تساعد الحسابات المحلية على فهم النطاق والسعة، ولا تنفذ بحث مناطق أو اختبار شبكة أو ترحيلا.
الأخطاء الشائعة وإصلاحها
تفترض VPC عالمية VM متعددة.
- لماذا يحدث؟
- اختلطت الشبكة بموضع الحساب.
- كيف تصلحه؟
- اجرد نطاق كل مورد.
- كيف تتجنب تكراره؟
- تتبع اعتماد الفشل كاملا.
يفشل متعدد النطاق بفقد واحد.
- لماذا يحدث؟
- أُهملت السعة الباقية أوالحالة.
- كيف تصلحه؟
- نمذج الاحتياط والتعافي.
- كيف تتجنب تكراره؟
- حدد الحدث المتحمل.
يعد الإقليم برهان امتثال.
- لماذا يحدث؟
- لم تقيم الإعداد والمتطلبات.
- كيف تصلحه؟
- راجع العقد والسياسة الفعليين.
- كيف تتجنب تكراره؟
- سجل الافتراض ومسؤول التحقق.
اختبر فهمك
1. لتطبيق نطاقان وقاعدة محلية واحدة. ماالقيد؟
اعرض الحل المشروح
انفصلت طبقة الحساب، لكن فقد المنطقة الفرعية للقاعدة يمكن أن يعطل مساري الطلب معا. راجع وضع HA أو التكرار للقاعدة نفسها، وسلوك انتقال العميل والسعة وأهداف التعافي. لا تسم التطبيق كله متحملا لفشل النطاق من مواضع VM وحدها. يجب أن يدخل كل اعتماد لازم في نموذج الفشل، بما فيه ما لا يظهر في رسم طبقة الويب.
2. لماذا لا تثبت fits=True هدف زمن تعاف؟
اعرض الحل المشروح
يفحص البرنامج حساب السعة الباقية تحت افتراضات ثابتة فقط. لا يقيس الكشف أو التوفير أو توافر الحصة أو استعادة الحالة أو التوجيه أو البداية أو إعادة اتصال العميل. يحتاج ادعاء زمن التعافي اختبارا كاملا مخولا وحدا واضحا لبدء الوقت ونهايته. أبق سعة النموذج والزمن المرصود دليلين منفصلين.
أهم ما تعلمته
- النطاق عقد خدمة لكل مورد.
- تحتاج المرونة اعتمادات وسعة باقية.
- لا يثبت نموذج الموقع إقامة أوسعة أو تأخيرا أوتعافيا فعليا.