التخزين المؤقت عبر CDN: استراتيجية توزيع CloudFront
تشرح هذه المقالة كيف نستخدم CDN من CloudFront لتخزين المحتوى مؤقتًا وتحسين الأداء العالمي.
المشكلة: زمن الوصل العالمي
يصل المستخدمون إلى موقعنا من جميع أنحاء العالم:
-
الهند: زمن وصل 50 مللي ثانية
-
الولايات المتحدة: زمن وصل 200 مللي ثانية
-
أوروبا: زمن وصل 250 مللي ثانية
-
آسيا: زمن وصل 150 مللي ثانية
تقديم كل الزيارات من الهند يتسبب في بطء تحميل الصفحات للمستخدمين الدوليين.
الحل: CDN CloudFront
CloudFront: شبكة توصيل المحتوى من AWS
مواقع الحافة: أكثر من 400 موقع حول العالم
الفائدة: يتم تقديم المحتوى من أقرب موقع
ما الذي يتم تخزينه مؤقتًا
الأصول الثابتة (TTL طويل)
المحتوى: الصور، CSS، JavaScript، الخطوط
TTL: سنة واحدة
المسار: /s/*
الفائدة: نادرًا ما يتغير، يتم التخزين المؤقت بقوة
صفحات المنتجات (TTL متوسط)
المحتوى: مواصفات المنتج، الصور
TTL: ساعة واحدة
المسار: /p/*
الفائدة: توازن بين الحداثة والأداء
صفحات الاستعلامات (TTL قصير)
المحتوى: نتائج البحث، المشاهدات المصفاة
TTL: 5 دقائق
المسار: /q/*
الفائدة: تحديثات متكررة، تخزين مؤقت قصير
المقالات (TTL طويل)
المحتوى: التوثيق التقني
TTL: 24 ساعة
المسار: /a/*
الفائدة: نادرًا ما يتغير
ما الذي لا يتم تخزينه مؤقتًا
المحتوى الديناميكي:
-
نتائج البحث (
/q/?q=<query>) -
المحتوى الخاص بالمستخدم (عربة التسوق، الحساب)
-
نقاط نهاية API (
/api/*)
السبب: يجب أن يكون حديثًا وخاصًا بالمستخدم
سلوك التخزين المؤقت
مفتاح التخزين المؤقت
يستخدم CloudFront الـ URL كمفتاح تخزين مؤقت:
نفس الـ URL: يتم تقديمه من ذاكرة التخزين المؤقت
URL مختلف: إدخال جديد في ذاكرة التخزين المؤقت
معاملات الاستعلام: مشمولة في المفتاح (باستثناء معلمات التتبع)
رؤوس التخزين المؤقت
يضبط خادم المصدر رؤوس التخزين المؤقت:
Cache-Control: public, max-age=3600
public: يمكن تخزينه مؤقتًا عبر CDN
max-age: مدة التخزين المؤقت بالثواني
إبطال التخزين المؤقت
يدويًا: إنشاء طلب إبطال
تلقائيًا: الانتظار حتى انتهاء صلاحية TTL
التكلفة: أول 1000 مسار مجانًا شهريًا
انظر: CACHE_INVALIDATION_RULE.md للسياسة
حماية المصدر
يقوم CDN بحماية خادم المصدر:
امتصاص الزيارات: يتعامل CDN مع ذروات الزيارات
التخفيف من هجمات DDoS: يقوم بتصفية الزيارات الخبيثة
تحديد معدل الطلبات: يمنع إرهاق المصدر
الفائدة: يبقى المصدر مستجيبًا
SSL/TLS
الشهادة: AWS Certificate Manager
البروتوكول: TLS 1.2+
الفائدة: زيارات مشفرة، شهادة مجانية
الضغط
Gzip: مفعل للمحتوى النصي
Brotli: مفعل للمتصفحات الحديثة
الفائدة: تنزيل أسرع، استهلاك أقل للعرض الترددي
القيود الجغرافية
لا يوجد: متاح في جميع أنحاء العالم
الفائدة: وصول عالمي
المراقبة
المقاييس:
-
معدل ضربات ذاكرة التخزين المؤقت
-
طلبات المصدر
-
معدل الخطأ
-
زمن الوصل لكل منطقة
CloudWatch: خدمة المراقبة من AWS
تحسين التكلفة
معدل ضربات ذاكرة التخزين المؤقت: كلما ارتفع = انخفضت التكاليف
طلبات المصدر: كلما قلّت = انخفضت التكاليف
نقل البيانات: التخزين المؤقت = أرخص
الفائدة: يقلل CDN من تكاليف البنية التحتية
المراجع
خدمات AWS
-
CloudFront - توثيق AWS CDN
-
Certificate Manager - شهادات SSL
مقالات ذات صلة
- هندسة الخوادم المتعددة - CDN في الهندسة
الملخص
يحسن CDN CloudFront من الأداء العالمي:
المحتوى المخزن مؤقتًا:
-
✅ الأصول الثابتة (TTL سنة واحدة)
-
✅ صفحات المنتجات (TTL ساعة واحدة)
-
✅ صفحات الاستعلامات (TTL 5 دقائق)
-
✅ المقالات (TTL 24 ساعة)
غير مخزن مؤقتًا:
-
✅ البحث الديناميكي
-
✅ المحتوى الخاص بالمستخدم
-
✅ نقاط نهاية API
الفوائد:
-
✅ زمن وصل أقل (مواقع الحافة)
-
✅ حماية المصدر (امتصاص الزيارات)
-
✅ التخفيف من هجمات DDoS
-
✅ تقليل التكاليف (طلبات أقل للمصدر)
الميزات:
-
✅ تشفير SSL/TLS
-
✅ ضغط Gzip/Brotli
-
✅ التوفر العالمي
توازن استراتيجية CDN هذه بين الأداء، الحداثة، والتكلفة.