GH GambleHub

CDN وتخزين الحافة

CDN والتخزين المؤقت للحافة

1) الأهداف

يقلل CDN (شبكة توصيل المحتوى) من زمن الوصول والحمل عند المنشأ: يخبئ المحتوى الثابت والديناميكي المشروط على العقد الحافة، ويوفر النطاق والاستقرار والأمن (DDoS/WAF)، ويضيف منطق الحافة (إعادة كتابة الردود/الطلبات، والمصادقة، A/B).

2) نموذج ومفاتيح ذاكرة التخزين المؤقت

Ключ кеша = «مخطط + مضيف + مسار + ؟»

يوصى بما يلي:
  • تطبيع الاستفسار ("utm _' expend، leave" v "،" lang "،" country "، إلخ).
  • تقليل «Vary» (على سبيل المثال، «Vary: Accept-Encoding، Accept-Language»)، تجنب «Vary:».
  • لواجهة برمجة التطبيقات - مفتاح من معرف المسار + الإصدار (نصف، هاش، معرف البناء) + الاستعلام/الرؤوس الضرورية (على سبيل المثال، "X-Tenant').
  • للصفحات المخصصة - تقسيم الحافة (بواسطة ملف تعريف الارتباط/geo) أو Skip-Cache.

3) سياسات TTL والرؤوس

العناوين الأساسية:
  • 'Cache-Control: public, max-age = 300, s-maxage = 3600, while-whine-revalidate = 60, fale-if-rorre = 300'
  • «التحكم البديل» (إذا تم دعمه) هي سياسة منفصلة لـ CDNs بخلاف المتصفح.
  • «ETag »/« آخر تعديل» - الطلبات المشروطة (304) ومدخرات حركة المرور.
  • للخاص: «Cache-Control: private، no store»، إن لم يكن مخبأ.
  • واجهات برمجة التطبيقات التي تسمح بذاكرة التخزين المؤقت: «Cache-Control: public، s-maxage = 60» + مفتاح الإصدار.

النهج الموصى به: الموارد «الأبدية» (مع بصمة في اسم الملف) → 'الحد الأقصى للعمر = 31536000، غير قابل للتغيير' ؛ «pages/JSON» → short TTL + SWR.

4) الإعاقة: التطهير/التطهير الناعم

التطهير بواسطة URL: نقطة.
التطهير حسب العلامة/المفتاح: عمليات التطهير الجماعية (استخدم «المفتاح البديل: المنتجات: 42 فئة: الطعام»).
التطهير الناعم: يشير إلى المحتوى «القديم»، وتعطي الحافة قديمة حتى يتم استلام إصدار جديد.
إحماء «دافئ»: بعد الانتشار، اسحب الصفحات الرئيسية من المناطق.

5) أنماط أداء الحافة

Stale-While-Revalidate: استجابة سريعة بنسخة «قديمة» + تحديث خلفية.
Prefetch of cargian resources (preload, preconce, dns-pretch).
الضغط: gzip/br (للنص)، zstd إذا تم دعم CDN.
HTTP/2/3 (QUIC): تعدد الإرسال وكمون أقل.
استئناف جلسة TLS وتدبيس OCSP على المحيط.

6) الصور ومقاطع الفيديو

تحسين الصورة عند الحافة: resize/format التفاوض ('Accept: image/avif, webp'), авто-WebP/AVIF, DPR- варианты.
كسول الحمل и سريع الاستجابة ("srcset'،" أحجام ").
فيديو: HLS/DASH، MP4 مجزأ، درع المنشأ (ذاكرة التخزين المؤقت المركزية) لتقليل العواصف.
خدمات الصور المصغرة وعناوين URL الموقعة للصور الخاصة.

7) أمن المحيط

WAF: قواعد OWASP، حظر البلد/ASN، حدود السعر مع المفتاح (IP + cookie + token).
DDoS: تنظيف L3/4، مدققات L7، تحديات JS/الباب الدوار.
توقيع عناوين URL/ملفات تعريف الارتباط للموارد الخاصة (فيديو/تقارير): TTL + HMAC/EdDSA.
المبارزة الجغرافية والامتثال (على سبيل المثال، حظر المناطق).

8) حساب الحافة (المنطق عند الحافة)

القضايا:
  • التخصيص دون كسر ذاكرة التخزين المؤقت: يتم تخزين المقاطع (A/B) والجغرافيا واللغة على الحافة والمحتوى.
  • إعادة كتابة الإجابات/العناوين، إعادة التوجيه، انقسامات AB.
  • المصادقة القائمة على الرمز: التحقق من توقيع JWT، إلزام المفتاح.
  • كناري من ملف تعريف الارتباط/بالمائة: جزء من حركة المرور إلى الواجهة الخلفية الجديدة.

تشمل الأمثلة على التكنولوجيا Cloudflare Workers/Durable Objects و Fastly Compute @ Edge و AWS Lambda @ Edge.

9) متعدد CDN والمحيط العالمي

الأسباب: التغطية، وجيش تحرير السودان، والتكلفة، والقيود الإقليمية، وعزل الحوادث.
GSLB/توجيه حركة المرور: بشأن الأخطاء الجغرافية/زمن الانتقال/الأخطاء الحقيقية ؛ الفحوصات الصحية من وجهات نظر متعددة.
نظام المفتاح/الرأس الفردي (المفتاح البديل)، قواعد التطهير المتزامنة.
الدرع الأصلي شائع لجميع CDNs حتى لا «تضرب» الأصل من ذوي الإعاقة.

10) قطع الأشجار والمقاييس

جمع:
  • نسبة الضرب (مخبأ، CDN → حافة/أصل)، نسبة ضرب البايت.
  • Latency p50/p95/p99، معدل الخطأ حسب الرمز/المسار.
  • إحضار الأصل: RPS/bytes/الأخطاء (الحماية من الأخطاء الزائدة).
  • الرسوم البيانية الإقليمية (حسب POP/ASN/country).
  • تكامل مع قابلية الرصد: Prometheus (سحب عبر المصدرين)، Grafana/OTel (دفع من سجلات الحافة).

11) SEO и SPA/SSR

صفحات SEO مع SWR و TTL القصيرة سريعة وجديدة.
Sitemap/robots - نختبئ لفترة طويلة، لكننا نسمح بالتطهير الناعم.
عامل الخدمة: التخزين المؤقت غير المتصل بالإنترنت، ومقدمة المسارات الحرجة، والتحديثات المستهدفة.

12) عينات التكوينات والرؤوس

12. 1 نبذات عن التحكم في المخبأ

ثابت ببصمة الإصبع:

Cache-Control: public, max-age=31536000, immutable
HTML/SSR:

Cache-Control: public, max-age=60, s-maxage=600, stale-while-revalidate=60, stale-if-error=600
Surrogate-Control: max-age=600, stale-while-revalidate=120
API (واجهة متجر مخبأة):

Cache-Control: public, s-maxage=60
Vary: Accept-Encoding

12. 2 NGINX (الأصل) - تطبيع الاستعلام/الرؤوس

nginx map $arg_utm_source $utm_skip { default 1; "" 0; }
map $args $normalized_args {
default "";
"~(^    &)v=([a-z0-9]+)(&    $)" "v=$2";
}
proxy_cache_key "$scheme://$host$request_uri?$normalized_args";
add_header Surrogate-Key "product:{{id}} category:{{cat}}";

12. 3 Fastly VCL - تطهير ناعم ومفاتيح

vcl sub vcl_recv {
set req. hash += req. http. host req. url. path;
set req. hash += querystring. decode(req. url, "v,lang");
if (req. method == "PURGE") {
if (req. http. Fastly-Soft-Purge) { softpurge; } else { purge; }
return (synth(200, "purged"));
}
}
sub vcl_deliver {
set resp. http. Surrogate-Key = "product:42 category:food";
}

12. 4 عمال Cloudflare - تم التوقيع على URLs

js export default {
async fetch(req, env) {
const url = new URL(req. url);
if (url. pathname. startsWith("/private/")) {
const token = url. searchParams. get("token");
if (!token! verify(token, env. SIGNING_KEY)) return new Response("Forbidden", { status: 403 });
}
return fetch(req);
}
}

12. 5 Lambda @ Edge - خيارات الجغرافيا

js exports. handler = async (event) => {
const req = event. Records[0].cf. request;
const country = req. headers['cloudfront-viewer-country']?.[0]?.value          'US';
if (country === 'DE') req. headers['accept-language'] = [{ key:'Accept-Language', value:'de' }];
return req;
};

13) البيانات الخاصة وواجهة برمجة التطبيقات

لا تخبأ الاستجابات الخاصة أبدًا دون عزل رئيسي (لكل مستخدم/لكل رمز).
استخدم ملفات تعريف الارتباط الموقعة/الرؤوس و «تنوع: التفويض» فقط مع مراقبة صارمة (بخلاف ذلك - إخفاء المخبأ).
البديل الآمن: فصل الطبقة العامة (المخبأة) والإشتمالات الخاصة (ESI/edge composition).

14) القواعد الجغرافية/المحتوى

قيود الترخيص: الرفض الجغرافي على الحافة، والعناصر الإضافية بدلاً من منع المنشأ.
لافتات العمر/التنظيم - تقدم على حافة الهاوية (لا تثقب ذاكرة التخزين المؤقت).

15) الأنماط المضادة

«لا مخبأ، لا مخزن» للموقع بأكمله → فقدان تأثير CDN.
«اختلف» على الرؤوس غير المستقرة (على سبيل المثال، «وكيل المستخدم») → الكاردينالية.
مسح المخبأ بالكامل في كل إصدار.
TTLs قصيرة بدون SWR → عاصفة إلى المنشأ.
يتم تخزين الصفحات الشخصية بدون مفاتيح تجزئة/رمزية.
نقص درع المنشأ → العديد من الأخطاء المتوازية.

16) قائمة التنفيذ المرجعية (0-45 يوما)

0-10 أيام

تصنيف الموارد: ثابت/HTML/API.
Enable gzip/br, HTTP/2/3, query normalization, «Surrogate-Key».
أدخل SWR/IFE وتطهير القاعدة.

11-25 يومًا

Edge-image appromization (resize/format), origin-shield.
توقيع عناوين URL لوسائط الإعلام الخاصة وملامح WAF/DDoS.
لوحات القيادة: نسبة الضرب، إحضار المنشأ، p95 بواسطة POP.

26-45 يومًا

استراتيجية متعددة CDN أو GSLB، أوزان الكناري على المحيط.
Edge-compute for segmentation/AB/geo, loft-purge by keys.
الاحترار التلقائي وتكامل التطهير في CI/CD.

17) مقاييس النضج

وصلت نسبة Byte ≥ 85٪ للثابت، ≥ 60٪ للديناميكيات HTML/المشروطة.
أصل RPS مستقر عند القمم (لا «عواصف»).
p95 خفض TTFB بنسبة ≥ 30٪ عبر المناطق الرئيسية.
النسبة المئوية للاستجابات القديمة للحوادث> 90٪ (بالكاد لاحظ المستخدم).
أتمتة كاملة لمفاتيح التطهير في خطوط الأنابيب.

18)

دائرة CDN الفعالة هي المفاتيح/TTL/الخيارات، وانضباط الإعاقة، ومنطق الحافة. إضافة SWR/IFE، درع المنشأ، تحسين الوسائط، والأمن القوي (WAF، عناوين URL الموقعة). قم بتوحيد المقاييس ودمج التطهير في CI/CD - وستحصل على محيط سريع واقتصادي ومستقر، جاهز لأحمال الذروة والبجع الأسود.

Contact

اتصل بنا

تواصل معنا لأي أسئلة أو دعم.نحن دائمًا جاهزون لمساعدتكم!

Telegram
@Gamble_GC
بدء التكامل

البريد الإلكتروني — إلزامي. تيليغرام أو واتساب — اختياري.

اسمك اختياري
البريد الإلكتروني اختياري
الموضوع اختياري
الرسالة اختياري
Telegram اختياري
@
إذا ذكرت تيليغرام — سنرد عليك هناك أيضًا بالإضافة إلى البريد الإلكتروني.
WhatsApp اختياري
الصيغة: رمز الدولة + الرقم (مثال: +971XXXXXXXXX).

بالنقر على الزر، فإنك توافق على معالجة بياناتك.