GH GambleHub

CDN والحد الأمثل من الكمون

1) الأهداف وخريطة التأخير

Latency = DNS + TCP/TLS + TTFB (خادم/أصل/ذاكرة تخزين مؤقت) + تسليم المحتوى (RTT × مجلدات) + عرض العميل.
التحسين = تقليل عدد RTTs، وتقليل البايت، ونقل الحساب/ذاكرة التخزين المؤقت بالقرب من المستخدم.

2) بنية CDN

Anycast POPs هي عقدة توجيه BGP قريبة النهاية.
Caching/Origin Shield - طبقة وسيطة «مظلة» تقلل من عاصفة الفشل عند الأصل.
المسار الجغرافي/الإقليمي - إلزام المستأجر/الولاية القضائية (سيادة البيانات، التراخيص).
الفشل - الأصل الاحتياطي/المنطقة، العينات الصحية والتبديل السريع.

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

3. 1 مفاتيح مخبأ

الافتراضي هو "مخطط + مضيف + مسار + ؟ الاستفسار '.
أضف المعلمات التي تريدها فقط (؟ v = '،' ؟ لانغ = '،' ؟ المستأجر = '). الباقي في حالة تجاهل.
«Vary» - الحد الأدنى: «Accept-Encoding»، «Accept-Language» (إذا لزم الأمر)، «التفويض» يكسر المخبأ عادةً.

3. 2 السياسات

Statics العامة: «Cache-Control: public، max-age = 31536000، غير قابل للتغيير» + rev (التجزئة في الاسم).
Half-dynamics (directories, rules, FAQ): 's-maxage = 300, while-whine-revalidate = 600, fale-if-rorre = 86400'.
API-GET: استخدم ETag/Last-Modified، «SWR/SIE»، لتمكين الدمج (طلب واحد لمفتاح ساخن).
خاص: استجابات شخصية - على المحيط عبر حساب الحافة (ESI/kv) أو ذاكرة التخزين المؤقت لكل مستأجر.

3. 3 مكافحة العاصفة

اطلب الاندماج - انهار طلبات الفشل المتزامنة.
Serve-stale - أعط شيئًا قديمًا عندما يفشل المنشأ.
إعادة التحقق من المعلومات الأساسية - تحديث في الخلفية.

4) HTTP/2-3، برنامج التعاون الفني/قسم TLS والعودة المبكرة

HTTP/2: تعدد الإرسال، ضغط الرأس ؛ الحد من «التيارات المتزامنة»، الرؤوس الكبيرة.
HTTP/3 (QUIC): انخفاض كبير في الخسارة المتنقلة/العالية TTFB ؛ راقب المنحدرات الأولية وريتري.
TLS 1. 3: مصافحة 1-RTT ؛ والتدبيس في مكتب خدمات الدعم المركزية ؛ HSTS.
0-RTT: فقط من أجل "GEt' الأحمق وإذا تم النظر في مخاطر إعادة التشغيل.
103 Early Mints: Early 'Link: rel = preload' للموارد الحرجة.
Preconnect/DNS-prefetch: '<link rel = «preconnect' href =» https ://cdn. مثال «>».

5) حساب الحافة و «التخصيص الدقيق»

على الحافة: تعداد العنوان، تثبيت الجغرافيا/المستأجر، علامة A/B، التخصيص السهل دون طلب أصل.
القاعدة: لا تخزن مؤشر الأداء الموحد على عقد الملوثات العضوية الثابتة ؛ مجاميع المخابئ/البيانات العامة فقط.

6) تحسين الوسائط والأشكال

الصور: التحويل التلقائي إلى WebP/AVIF، وإعادة الحجم على الحافة، و "srcset/sizes"، و "lazyload'.
الضغط: Brotli للنصوص (HTML/CSS/JS/JSON)، gzip redback.
فيديو: HLS/DASH، تخزين مقطع CDN، «التحميل المسبق = البيانات الوصفية»، ملصق.
الخطوط: المجموعة الفرعية + «عرض الخط: مبادلة» ؛ المضيف مع مخبأ طويل.
CSS Critical: inline first screen; أما الباقي فهو غير صحي.

7) أنماط واجهة برمجة التطبيقات والتخزين المؤقت

Idempotent GET - نقوم بتخزين المفاتيح حسب الطلب (بما في ذلك إصدار البيانات).
ETag: تجزئة حمولة قوية + «If-None-Match».
التحكم البديل (خاص بـ CDN) للتمييز عن عميل «التحكم في المخبأ».
توقيع عناوين URL - للساكن/الوسائط الخاصة.
الرسم البياني QL: تطبيع ذاكرة التخزين المؤقت حسب التشغيل/المتغيرات ؛ استخدام مخبأ جزئي/مخبأ حل.
WebSockets: للوقت الفعلي - رسائل مختصرة، ضغط (permessage-deflate)، ضع شظايا WS بالقرب من المستخدم.

8) أمثلة التكوين

8. 1 NGINX (الأصل: نختبئ API-GET)

nginx
We give SWR and ETag location/api/v1/catalog/{
proxy_cache api_cache;
proxy_cache_key "$scheme$request_method$host$uri$is_args$args";
proxy_cache_valid 200 5m;
proxy_cache_use_stale updating error timeout http_500 http_502 http_503 http_504;
add_header Cache-Control "public, s-maxage=300, stale-while-revalidate=600, stale-if-error=86400";
add_header ETag $upstream_http_etag;
proxy_ignore_headers Set-Cookie; # do not break the Set-Cookie proxy_hide_header cache;
proxy_pass http://catalog;
}

8. 2 Fastly VCL (SWR، الدمج، تجاهل ملفات تعريف الارتباط)

vcl sub vcl_recv {
set req. hash_ignore_busy = true;   # coalescing if (req. url. qs ~ "^(?!.(lang    v)=)") { remove req. url. qs; }
if (req. http. Cookie) { remove req. http. Cookie; }
}

sub vcl_backend_response {
set beresp. ttl = 300s;
set beresp. stale_if_error = 86400s;
set beresp. stale_while_revalidate = 600s;
if (beresp. http. Set-Cookie) { unset beresp. http. Set-Cookie; }
}

8. 3 Cloudflare (قواعد التحويل، قواعد التخزين المؤقت، التلميحات المبكرة - псевдо)

json
{
"cache_rule": {
"if": "http. request. uri. path matches \"/assets/.\"",
"action": {"cache": {"eligibility":"eligible", "ttl": 31536000}}
},
"transform_rule": {
"set_headers": [{"name":"Cache-Control","value":"public, s-maxage=300, stale-while-revalidate=600"}]
},
"early_hints": {"enable": true}
}

9) شبكات الهاتف المحمول والإنترنت «غير المستقر»

استخدام HTTP/3 بقوة ؛ خفض حجم المسار الحرج (HTML + CSS الحرج <14 KB).
الأولوية H2/H3: ترتيب الأولويات (HTML→CSS→JS→media لاحقاً).
إعادة طرح السياسة مع jitter، الغباء لواجهة برمجة التطبيقات.
ميزانيات الحجم والتجميع: تقسيم الرموز، تأجيل JS، إزالة CSS/JS غير المستخدمة.

10) إمكانية الرصد و SLO

RUM: TTFB، LCP، INP، CLS حسب المنطقة/ASN/المستأجرين ؛ p95/p99 التوزيعات.
المواد التركيبية: مسار التحكم "/الصحة/cdn' بواسطة الملوثات العضوية الثابتة.
مقاييس ذاكرة التخزين المؤقت: نسبة الإصابة الإجمالية والمفتاح الواحد ؛ ومعدل جلب المنشأ ؛ توحيد المدخرات.
التنبيهات: انخفاض نسبة الإصابة، زيادة المنشأ والخروج، تدهور H3-fraction، 5xx لكل درع.

11) تفاصيل iGaming/Finance

فهارس/احتمالات اللعبة: 'الحد الأقصى' القصير + SWR ؛ ключ المدركة للمنطقة (region 'region' lang ').
قمم الأحداث (المباريات، السحوبات): تدفئة ذاكرة التخزين المؤقت (ما قبل الدفء)، «تجميد» الشخصيات الثقيلة، مصادر المرآة.
الدفع/الخزانة: لا تخزن الخزانة الخاصة، ولكن تتسارع من خلال H3 + edge-TLS والمنطقة القريبة.
الولايات القضائية: تقسيم المجالات/المسارات لكل منطقة ؛ سيطرة «Vary: X-Region».

12) أنتيباترن

«تختلف:» في كل شيء ؛ يعتمد مفتاح ذاكرة التخزين المؤقت على ملفات تعريف الارتباط/الرؤوس غير الضرورية.
نقص SWR/SIE → الشاشات السوداء لفشل الأصل القصير.
مخبأ واضح «في كل مكان» بدلاً من الإعاقة النقطية بواسطة العلامات/المفاتيح.
الموارد بدون تنقيح الاسم و «الحد الأقصى للعمر = صفر».
مخبأ عالمي لرفض «التفويض» حتى في حالة منح الجمهور.
عدم اندماج العاصفة → على الأصل.
تخصيص سابق لأوانه «ثقيل» على POP.

13) قائمة التحقق من الاستعداد

  • أي ملوثات عضوية ثابتة + متدرجة/درع ؛ الفحوصات الصحية وفشل المنشأ.
  • مفاتيح التخزين المؤقت ضئيلة ؛ وتجاهل الاستفسارات/ملفات تعريف الارتباط غير الضرورية ؛ «التحكم البديل».
  • تمكين SWR/SIE، والالتحام النشط ؛ خدمة قديمة على الأخطاء.
  • تمكين HTTP/3 ؛ TLS 1. 3; 103 تم تكوين التلميحات المبكرة للموارد الحيوية.
  • الصور: AVIF/WebP، إعادة الحجم على الحافة ؛ بروتلي لكلمات الأغاني.
  • API-GET с ETag/آخر تعديل ؛ والخصوصية/التراجع ؛ لا تخفي ملامح خاصة.
  • الربط المسبق بالمجالات الثابتة ؛ CSS الحاسمة inline.
  • المقاييس: نسبة الإصابة، الأصل - الخروج، TTFB/LCP p95، H3-share، حسب المنطقة/المستأجر.
  • مخبأ خطة الإحماء قبل الأحداث ؛ (العلامات).
  • تفاوت/مفاتيح/تسجيلات TTL الوثائق ؛ دليل الحوادث (انخفاض نسبة الإصابة).

14) TL ؛ د

استمر في المشي لمسافات طويلة إلى الأصل إلى الحد الأدنى: متدرج/درع + مفاتيح ذاكرة التخزين المؤقت المناسبة + SWR/SIE + الدمج. قم بتشغيل HTTP/3/TLS 1. 3، استخدم 103 تلميحات مبكرة وريكونت. ضغط الوسائط وتحويلها عند الحافة، وربط CSS النقدي. بالنسبة لواجهة برمجة التطبيقات - ETag، "Vary" الأنيقة، الخصوصية والتخزين المؤقت المعقول "GEt'. قياس نسبة الإصابة، TTFB/LCP p95، المنشأ يخرج ويدفئ المخبأ مقدمًا عند القمم.

Contact

اتصل بنا

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

بدء التكامل

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

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

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