إدارة الأصول الثابتة: توصيل CDN مع كسر التخزين المؤقت
تشرح هذه المقالة كيفية إدارة وتوصيل أوراق أنماط CSS وجافا سكريبت والأصول الثابتة الأخرى بكفاءة.
المشكلة: تحتاج الأصول الثابتة إلى التحسين
تحمل الصفحة النموذجية:
-
ملفات CSS: أوراق الأنماط للتخطيط والتصميم
-
ملفات JavaScript: كود التطبيق والمكتبات
-
الصور: صور المنتج، الصور المصغرة، الأيقونات
-
الخطوط: خطوط الويب للطباعة
بدون التحسين:
-
التنزيلات البطيئة: الملفات الكبيرة تستغرق وقتًا
-
لا يوجد تخزين مؤقت: إعادة التنزيل في كل زيارة
-
لا يوجد ضغط: إهدار في عرض النطاق الترددي
-
لا يوجد CDN: بطيء للمستخدمين العالميين
هذا يؤدي إلى أوقات تحميل للصفحة تتراوح بين 3-5 ثوانٍ.
الحل: S3 + CloudFront + كسر التخزين المؤقت
نستخدم استراتيجية ثلاثية الأجزاء:
- تخزين S3: تخزين كائنات قابل للتوسع للأصول
- CDN CloudFront: مواقع حافة عالمية للتوصيل السريع
- كسر التخزين المؤقت: عناوين URL المستندة إلى الإصدار تفرض التحديثات
تخزين الأصول الثابتة
يتم تخزين الأصول الثابتة في S3:
-
دلو S3: تخزين كائنات للملفات الثابتة
-
المحتوى: CSS، JavaScript، الصور، الخطوط
-
التنظيم: منظم حسب نوع الأصل
توصيل CloudFront
يقوم CloudFront بتقديم الأصول الثابتة:
-
مواقع الحافة: CDN عالمي للتوصيل السريع
-
التخزين المؤقت: TTL طويل للأصول الثابتة
-
الضغط: Gzip للأصول المستندة إلى النص
-
SSL/TLS: HTTPS لتوصيل جميع الأصول
كسر التخزين المؤقت
نستخدم إصدارات لكسر التخزين المؤقت:
-
أرقام الإصدار: إصدار الأصل في اسم الملف
-
البيان المركزي: سجل مركزي لإصدارات الأصول
-
التحديثات التلقائية: إصدار جديد يحفز إبطال التخزين المؤقت
تحسين الأصول
نحسن الأصول للأداء:
-
التصغير: تصغير CSS وJavaScript
-
تحسين الصور: تنسيق WebP، صور متجاوبة
-
أوراق الرسوم المتحركة: CSS sprites للأيقونات
-
تقسيم الكود: التحميل البطيء للأصول غير الحرجة
خط أنابيب الأصول
يتدفق خط أنابيب الأصول عبر هذه المراحل:
- الأصول المصدرية: CSS، JavaScript، والصور الأصلية
- التصغير: إزالة المسافات البيضاء، تقصير أسماء المتغيرات
- إصدار: إضافة تجزئة الإصدار إلى اسم الملف
- تحميل S3: التخزين في تخزين الكائنات
- CDN CloudFront: التوزيع إلى مواقع الحافة
- التخزين المؤقت في المتصفح: التخزين المؤقت على جانب العميل
تضمين الأصول
يتم تضمين الأصول في القوالب:
-
CSS:
<link rel="stylesheet"> -
JavaScript:
<script src=""> -
الصور:
<img src=""> -
الإصدار: مضمن تلقائيًا من البيان المركزي
ملخص
توفر إدارة الأصول الثابتة:
-
تخزين S3: CSS، JavaScript، الصور، الخطوط
-
CDN CloudFront: توصيل عالمي سريع
-
كسر التخزين المؤقت: أرقام إصدار للتحديثات
-
التحسين: تصغير، ضغط، تحسين
-
التحديثات التلقائية: توصيل أصول مصنفة بالإصدار