CDN برای بازی ها و دارایی ها: TTFB در سراسر جهان کاهش می یابد
1) «سریع» برای iGaming و جایی که ما برنده می شویم
نکات مهم UX:- لابی و رسانه (آیکون های بازی، پیش نمایش ها، آگهی ها) - رندر فوری ؛
- شروع یک جدول اسلات/زنده - حداقل تغییر مسیر و اضافه بار ؛
- Feeds/lists (کاتالوگ بازی، قوانین، ترجمه ها) - JSON ذخیره شده ارزان ؛
- ویدئو/پخش (تریلر، HLS/DASH برای جریان) ؛
- دارایی های جلو استاتیک (JS/CSS/فونت).
- TTFB جهانی: ≤ 150-250 میلی ثانیه در هر استاتیک، ≤ 300-400 میلی ثانیه در هر بلندگو ذخیره شده در لبه ؛
- Time-to-First-Spin (TTFS): ≤ 800 میلی ثانیه به اولین درخواست ارائه دهنده (پس از ارائه لابی) ؛
- p95 آیکون دانلود: ≤ 200ms.
2) معماری لایه CDN: پای عملکرد
1. PoP Anycast در سراسر جهان: انتخاب خودکار نزدیکترین سایت، کاهش RTT.
2. Tiered cache + Origin Shield: PoP → یک حافظه پنهان منطقه ای → گره های سپر 1-2 قبل از مبدا برای خاموش کردن طوفان های miss.
3. چند مبدا: دارایی یا دارایی آماده به کار (EU/US/APAC)، چک های بهداشتی و مسیریابی هوشمند.
4. توابع لبه: منطق آسان به مبدا (A/B، geo، signatures، URL/header normalization).
5. خصوصی CDN ستون فقرات: عبور «وحشی» هسته اینترنت در مناطق دور افتاده است.
3) استراتژی های نقدی: چه، کجا و چه مقدار
اصول: غیر قابل تغییر در صورت امکان، TTL کوتاه برای دینامیک، SWR (stale-while-revalidate) برای انفجار، کلید قطعی.
ماتریس TTL (مثال):نکته مهم: برای API-GET هایی که ذخیره می کنید، از Surrogate-Control (برای CDN) و کوتاه «Cache-Control» (برای مرورگر) برای جلوگیری از رکود مرورگر استفاده کنید.
4) هدر کش و کلید: حداقل رساندن دست
کلید کش = 'scheme + host + path + normalized query + variation'.
سفارش پارامترهای پرس و جو را عادی کنید، "زباله" ("utm _'،" fbclid "و غیره) را پرتاب کنید.
گزینه های هدر: 'Accept-Encoding' (Brotli/Zstd/Gzip)، 'Accept' (AVIF/WebP/JPEG)، 'DPR' (نکات مشتری)، 'Accept-Language'.
مرجع عنوان (برای داراییهای تغییرناپذیر):
کش کنترل: عمومی، حداکثر سن = 31536000، تغییر ناپذیر
ETag: «sha256- <hash>»
محتوا رمزگذاری: BR # و/یا ZSTD/GZIP, پایین را ببینید
متفاوت است: پذیرش-رمزگذاری, قبول, DPR, ذخیره-داده
Cache-Control: عمومی، حداکثر سن = 60، stale-while-revalidate = 300
کنترل جانشین: حداکثر سن = 300، stale-while-revalidate = 6005) فشرده سازی و فرمت ها: بایت کمتر - زیر TTFB
HTTP/3 + QUIC تاخیر دست دادن را کاهش می دهد، مقاوم در برابر از دست دادن بسته است.
Brotli برای دارایی های متنی (JS/CSS/JSON)، سطوح 5-7 (تعادل CPU/مزایا).
Zstd (اگر CDN پشتیبانی شود) برای JSON/NDJSON فشرده سازی عالی در زمان تاخیر کم است.
WebP/AVIF برای تصاویر (خودکار با 'Accept').
محدوده درخواست برای فایل های ویدئویی/بزرگ به طوری که همه چیز را بکشد.
6) تحویل از طریق لبه: پیش پرداخت و لابی هوشمند
Prefetch از لابی: به محض این که کارت بازی در منطقه قابل مشاهده است، بار آیکون، قوانین، کوچک «manivest» از ارائه دهنده.
نکات اولیه (103) و «پیش فرض» برای میزبان CDN.
Edge-function-warm-up: در صورت «قرار دادن بازی در بالا» - گرم کردن آیکون های بالا و پیکربندی در نزدیکترین تبلیغات PoP بازار.
Payload Adaptive: لیست های سبک وزن (10-20 بازی) را بر روی یک تلفن همراه در 3G/Save-Data ارسال کنید.
7) Origin Shield و دفاع در برابر «طوفان خانم»
روشن واکشی deduplicated: یک سفر به مبدا با صدها نفر از دست موازی (coalescing).
Jitter TTL (± 20٪) برای انقضای «همزمان» تعداد زیادی کلید.
Canary releases: کاتالوگ ها/قوانین جدید را در ترافیک لبه 5-10٪ برای یک فرد معلول جهانی منتشر کنید.
منفی کش (بسیار کوتاه, 1-5 ثانیه) در '404/204' برای مسابقات قبل از شروع, به طوری که به «چکش» منشاء.
8) محدودیت های جغرافیایی، مجوزها و امنیت
Geo-fencing در لبه برای کشورهای خارج از مجوز یک پاسخ سریع و خنثی (403) است.
URL های امضا شده/کوکی ها برای محتوای خصوصی (مواد VIP، منابع جایزه).
حفاظت در برابر hotlink و مراجعه کنندگان، قوانین WAF در PoP برای API-GET که شما ذخیره می کنید (طرح معتبر JSON، محدودیت های IP/ASN).
TLS 1. 3، HSTS، OCSP در دامنه های جلو CDN.
9) نسخه و ناتوانی
محتوا هش در نام فایل: 'برنامه. 
JSON/کاتالوگ/آگهی ها: ناتوانی رویداد (webhook از CMS/پنل مدیریت) + خودکار گرم کردن بالا کلید.
اجتناب از پاکسازی جهانی ؛ نقطه پاکسازی توسط پیشوند/برچسب ها.
10) فیلم ها و جریان ها: HLS/DASH در CDN
بخش های کوتاه (2-4 ثانیه) + '# EXT-X-PREFETCH '/HLS کم تاخیر پشتیبانی می شود.
کش چند لایه بین PoP ها برای بخش ها ؛ 'Cache-Control: public, max-age = 3600'.
لیست پخش در منطقه (گزینه های میزان ارسال بیت) و زیرنویس های محلی; محدوده دوستانه.
11) مشخصات ارائه دهندگان بازی
فراداده های ارائه دهنده (لیست ها، محدودیت ها، مکان ها) - JSON ذخیره شده با «SWR».
آیکون ها و ارائه دهنده رسانه های تبلیغاتی - دوباره میزبان در دامنه CDN خود (به طوری که از منشاء آهسته خود رنج می برند).
CDN استخر دامنه (اما بدون دامنه شاردینگ - HTTP/2/3 لازم نیست) - جدا ویدئو بزرگ/استاتیک/API برای منزوی کردن سیاست.
12) نمونه ای از قوانین (شبه، تابع لبه)
js صادرات پیش فرض async (req) => {
//کلید req را نرمال می کند. url = normalizeQuery (عادی سازی پرس و جو) url, ['lang', 'dpr', 'v']] ;//زباله
//محدوده جغرافیایی اگر (! isLicensed (req.geo. کشور)) بازگشت geoBlock () ؛
//نشانیهای وب امضا شده برای پیشوندهای خصوصی اگر (req. مسیر. شروع می شود ('/vip/')) verifySignatureOr403 (req) ؛
//خط مشی کش اگر (req. مسیر. مسابقه (/\( js    CSS    woff2) $/) & & hasHash (req. مسیر)) (
setHeader ('Cache-Control', 'public, max-age = 31536000, immutable');
در غیر این صورت اگر (req. مسیر. به پایان می رسد ("/بازی ها. json ')) (
setHeader ('Cache-Control', 'public, max-age = 60, stale-while-revalidate = 300');
setHeader ('Surrogate-Control', 'max-age = 300, stale-while-revalidate = 600');
}
//مذاکره فشرده سازی رمزگذاری (['br', 'zstd', 'gzip']);
return fetchFromCacheThenOrigin (req);
}13) قابلیت مشاهده CDN و SLO
RUM: جمع آوری «TTFB»، «LCP»، «رنگ اول» توسط منطقه/شبکه (تلفن همراه در مقابل Wi-Fi).
معیارهای لبه: hit/miss، shield hit-ratio، prefix misses، حجم ترافیک خروجی، کدهای «4xx/5xx».
هشدارها: افت نسبت ضربه، افزایش TTFB منطقه ای، «طوفان خانم»، ربات spike/ASN 429.
ردپاها: علامتهای 'edge → shield → origin' to see where 'burns'.
14) هزینه: چگونه بیش از حد پرداخت نکنیم
کش سنگین و داغ (آیکون/ویدئو/دایرکتوری ها) - را کاهش می دهد خروج از مبدا.
کاهش کاردینالیتی کلید (حذف نمایش داده شد زباله/تغییرات UA).
لایه های حافظه پنهان و گره های سپر منطقه ای درخواست های باطن را ذخیره می کنند.
فشرده سازی (Brotli/Zstd) ترافیک را کاهش می دهد ؛ AVIF/WebP - کندو دکل برای تصاویر.
15) چک لیست آمادگی تولید
- CDN Anycast با پوشش بازارهای هدف (EU، LatAm، MENA، APAC) ؛ HTTP/3 را شامل می شود.
- دارایی های غیر قابل تغییر با هش محتوا ؛ 'Cache-Control: max-age = 1y, immutable'.
- کاتالوگ ها/JSON - SWR + Surrogate-Control، TTL 30-300 s، ناتوانی نقطه از CMS.
- کش چند لایه + منبع سپر، coalescing، TTL-jitter.
- فرمت ها: AVIF/WebP، Brotli/Zstd، محدوده برای ویدئو.
- توابع لبه: نرمال سازی پرس و جو، فیلترهای جغرافیایی، URL امضا شده، A/B.
- محدودیت جغرافیایی و WAF در PoP ؛ فقط HTTPS (HSTS)، TLS 1. 3.
- قابلیت مشاهده: RUM TTFB/LCP، نسبت ضربه، هشدارهای منطقه ای.
- روش گرم کردن قبل از تبلیغی/جریان، محاسبات قناری.
- کش اسناد کلیدی، سیاست ناتوانی، و «خانم طوفان» runbook.
خلاصه رزومه
برای کاهش واقعی TTFB در سراسر جهان، از Anycast + tiered cache + origin shield استفاده کنید، برای همه نسخه ها تغییرناپذیر شوید، از SWR برای لیست های پویا استفاده کنید، بایت ها را برش دهید (Brotli/Zstd، AVIF/WebP)، و در لبه - عادی کردن کلیدها، اضافه کردن فیلترهای جغرافیایی و امضا. گرم کردن بازی های بالا قبل از تبلیغی، اندازه گیری TTFB/LCP از طریق RUM و نگه داشتن نسبت ضربه تحت کنترل - به این ترتیب لابی فورا باز می شود، بازی بدون مکث شروع می شود، و منشاء سرد و ارزان باقی می ماند.
