انتقل إلى المحتوى الرئيسي

MODULE 8 - القابلية للتوسع والتوافر العالي

نظرة عامة​

يغطي هذا الوحدة مفاهيم التوافر العالي (HA) و القابلية للتوسع مع AWS. ستتعلم كيفية تصميم بنى قوية باستخدام Load Balancing.

التقييم النهائي

تتضمن هذه الوحدة التقييم 2 (25%) الذي يغطي HA وScaling.

أهداف التعلم​

  • فهم مفاهيم التوافر العالي
  • شرح كيفية عمل Load Balancers في AWS
  • تكوين health checks
  • تصميم بنية عديمة الحالة
  • تحديد معايير نجاح HA

محتوى الأسبوع​

1. التوافر العالي - المفاهيم​

┌─────────────────────────────────────────────────────────────┐
│ التوافر العالي │
├─────────────────────────────────────────────────────────────┤
│ │
│ الهدف: الخدمة دائماً متاحة رغم الأعطال │
│ │
│ بدون HA مع HA │
│ ─────── ─────── │
│ │
│ ┌─────────┐ ┌─────────┐ │
│ │ Instance│ ← SPOF │ ALB │ ← التوزيع │
│ │ Unique │ └────┬────┘ │
│ └─────────┘ │ │
│ │ ┌────────┼────────┐ │
│ ▼ │ │ │ │
│ PANNE = DOWN ┌┴┐ ┌┴┐ ┌┴┐ │
│ │1│ │2│ │3│ │
│ └─┘ └─┘ └─┘ │
│ AZ-a AZ-b AZ-c │
│ │
│ PANNE d'une instance = SERVICE OK │
│ │
└─────────────────────────────────────────────────────────────┘

2. أنواع Load Balancers في AWS​

النوعالاستخدامالطبقةالخصائص
ALBHTTP/HTTPS7توجيه متقدم، WebSocket
NLBTCP/UDP4أداء عالي، IP ثابت
CLBLegacy4/7قديم، يُفضل تجنبه
GWLBAppliances3Firewalls, IDS

3. Health Checks​

┌─────────────────────────────────────────────────────────────┐
│ HEALTH CHECKS │
├─────────────────────────────────────────────────────────────┤
│ │
│ يقوم Load Balancer بفحص صحة │
│ مثيلات الأهداف بانتظام. │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ ALB │──GET /──►│Instance │ │Instance │ │
│ │ │◄──200 OK─│ (OK) │ │ (KO) │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ │ ✓ ✗ │
│ │ │
│ └──────────► يتم إرسال الحركة فقط إلى المثيلات │
│ التي تستجيب بشكل صحيح │
│ │
│ المعايير: │
│ • المسار: /health │
│ • الفاصل الزمني: 30 ثانية │
│ • العتبة الصحية: 3 نجاحات متتالية │
│ • العتبة غير الصحية: 2 فشل متتالي │
│ │
└─────────────────────────────────────────────────────────────┘

4. بنية عديمة الحالة​

STATELESS = التطبيق لا يخزن الحالة على المثيل

✅ جيد (عديم الحالة) ❌ سيء (ذو حالة)
───────────────── ────────────────────
الجلسات في Redis/DynamoDB الجلسات على القرص المحلي
الملفات في S3 الملفات على EBS
التكوين في Parameter Store التكوين في ملف محلي

لماذا عديم الحالة؟
• يمكن لأي مثيل خدمة أي طلب
• سهولة التوسع الأفقي
• استبدال المثيل دون فقدان البيانات

التقييم 2 (25%)​

الشكل​

  • تصميم بنية HA (60%)
  • أسئلة نظرية (40%)

المحتوى المغطى​

  • Load Balancing (ALB, NLB)
  • Health Checks
  • بنية Multi-AZ
  • تصميم عديم الحالة
  • معايير التوافر

التسليم​

وثيقة بنية HA:

  • مخطط مع LB ومثيلات Multi-AZ
  • تكوين health checks
  • تبرير الاختيارات
  • حساب التوافر النظري

التنقل​

  1. مفاهيم التوافر العالي
  2. Load Balancers في AWS
  3. Health Checks
  4. اختبار التحقق - 30 سؤال للتحقق من معرفتك
  5. مختبر: بنية HA

الأسبوع التالي: MODULE 9 - Auto Scaling