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
| النوع | الاستخدام | الطبقة | الخصائص |
|---|---|---|---|
| ALB | HTTP/HTTPS | 7 | توجيه متقدم، WebSocket |
| NLB | TCP/UDP | 4 | أداء عالي، IP ثابت |
| CLB | Legacy | 4/7 | قديم، يُفضل تجنبه |
| GWLB | Appliances | 3 | Firewalls, 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
- تبرير الاختيارات
- حساب التوافر النظري
التنقل
- مفاهيم التوافر العالي
- Load Balancers في AWS
- Health Checks
- اختبار التحقق - 30 سؤال للتحقق من معرفتك
- مختبر: بنية HA
الأسبوع التالي: MODULE 9 - Auto Scaling