محتويات الدورة

الشبكات / المتقدم: السياسة والأدلة والسعة والتصميم المرن / الدرس 18

تصميم اعتماديات مرنة وتغيير قابل للتراجع

حوّل أهداف الإتاحة إلى متطلبات اعتماديات وفشل وتحقق وتراجع صريحة.

وقت القراءة التقريبي: 3 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • رسم اعتماديات العنونة والتسمية والهوية والتمرير عبر الفشل.
  • تقييم سجلات مرونة وقبول مصطنعة دون إدارة شبكة.

ابدأ بالعملية التي يجب أن تبقى صالحة

يبدأ التصميم بعملية مستخدم وفشل محتمل وهدف تعاف وسلوك متدهور مقبول. لا يكفي عد الأجهزة؛ فقد يعتمد الطلب على العنونة والجار والتوجيه و DNS والوقت والشهادات والهوية والحالة. سم الملاك وحدود الفشل وميّز المكون من الموقع أومزود الطاقة أوالتحكم. يسهل تحقق اعتماد صريح بسيط أكثر من تكرار معقد غير موثق.

قد تخفي الأسماء المتعددة اعتماداً مشتركاً

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

python اختبار فشل مشترك معلن دون اتصال
failed = {'power-1'}
shared = {'A': {'edge-A', 'power-1'}, 'B': {'edge-B', 'power-1'}}
diverse = {'A': {'edge-A', 'power-1'}, 'B': {'edge-B', 'power-2'}}
def survivors(paths):
    return sorted(name for name, dependencies in paths.items() if dependencies.isdisjoint(failed))
print(f'shared_power_survivors={survivors(shared)}')
print(f'diverse_power_survivors={survivors(diverse)}')
الناتج المتوقع
shared_power_survivors=[]
diverse_power_survivors=['B']

يسقط power-1 المسارين المشتركين ويبقي B في المثبت المنفصل. الأسماء مكونات مصطنعة لا أجهزة؛ وقد يبطل التصميم اعتماد غير ممثل أوسعة باقية غير كافية.

للعنونة وتعافي DNS ساعات مستقلة

يفيد خادم DNS ثان مع بيانات ووصول واعتماديات مناسبة. قد تؤخر المخابئ والسلبية وتحديث العميل والاتصالات القائمة اعتماد الجواب الجديد. لا تفرض TTL منخفضة اتصالاً فورياً. ولتخصيص العنوان والجار دورات أخرى؛ فقد يكسر تكرار الملكية المسارات. أدرج العائلتين والمحلل والشهادة والبدء، ولا تجعل تكرار DNS أو DHCP تعافياً كاملاً للخدمة.

يحتاج التغيير شروط نجاح وتراجع

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

python تقييم تقرير قبول مصطنع
report = {'required_paths_ok': True, 'latency_ms': 120, 'unexpected_allows': 1}
checks = {
    'paths': report['required_paths_ok'],
    'latency': report['latency_ms'] <= 100,
    'policy': report['unexpected_allows'] == 0,
}
accepted = all(checks.values())
print(f'accepted={accepted}')
print('failed_checks=' + ','.join(name for name, passed in checks.items() if not passed))
الناتج المتوقع
accepted=False
failed_checks=latency,policy

تنجح المسارات وتفشل عتبتا التأخير والسياسة، فتكون accepted بقيمة False. الأرقام مثبتة لا حركة مقاسة أومسح. لا ينتج البرنامج إلا قراراً دون تغيير أوتفعيل تراجع.

تدرب على الخدمة المتدهورة والعودة المنضبطة

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

الأخطاء الشائعة وإصلاحها

اعتبار جهازين مجالَي فشل مستقلين

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

افتراض نقل كل العملاء فور تحديث DNS

لماذا يحدث؟
أُهملت المخابئ والتحديث والاتصالات القائمة.
كيف تصلحه؟
أدرج اعتماد الاسم والاتصال الواقعي ضمن التعافي.
كيف تتجنب تكراره؟
عامل حالة DNS وجلسات التطبيق اعتمادين مختلفين.

بدء التراجع دون فحص توافق الحالة

لماذا يحدث؟
افتُرض عكس كل أثر خارجي أودائم بالإعداد.
كيف تصلحه؟
اختر المسار المعتمد الملائم للحالة.
كيف تتجنب تكراره؟
تدرب على الاستعادة ووثق الحدود قبل النشر.

اختبر فهمك

1. لماذا لا يبقى مسار في مثال الطاقة المشتركة؟

اعرض الحل المشروح

يشترط المساران power-1 وهي ضمن الفشل، فلا يزيل اختلاف الاسم الاعتماد. يبقي نقل B إلى power-2 المسار في النموذج، مع لزوم مراجعة بقية الاعتماد والسعة.

2. هل يجعل خفض التأخير إلى 80 التغيير مقبولاً؟

اعرض الحل المشروح

لا؛ تظل مخالفة السماح موجودة فلا تتحقق كل المتطلبات. افحص العقد كاملاً لا أفضل مقياس. ويحتاج التصحيح سلطة وإجراء معتمدين؛ ويفسر النموذج المنطق فقط.

أهم ما تعلمته

  • المرونة عقد اعتماد وفشل متحقق لا عدد أجهزة.
  • حدد النجاح والسعة المتدهورة والتراجع والعودة قبل التغيير.

المراجع الرسمية