GH GambleHub

فن آوری ها و زیرساخت ها → CDN ها و ذخیره سازی محتوا

CDN ها و ذخیره سازی محتوا

1) چرا CDN و کش

CDN (شبکه تحویل محتوا) RTT و TTFB را کاهش می دهد، مبدا بارگیری را کاهش می دهد و دم های P95/P99 را تثبیت می کند. برای iGaming/fintech، اینها هستند:
  • سریع اولین بایت برای کاتالوگ، دارایی، تبلیغی، رسانه ها.
  • اوج ثبات (مسابقات/رویدادها) بدون رشد انفجاری در ظرفیت مبدا.
  • صرفه جویی و هزینه قابل پیش بینی
  • کنترل جغرافیایی (مقررات، مجوز محتوا).

2) استراتژی های ذخیره سازی عمومی

2. 1 پاسخ هایی که می تواند ذخیره شود

استاتیک: JS/CSS/فونت/آیکون - TTL طولانی (30-365 روز) + فایل هش در نام.
نیمه استاتیک: کاتالوگ بازی، آگهی ها، پیکربندی ها - TTL از دقیقه تا ساعت + 'stale-while-revalidate'.
API GET/HEAD: دایرکتوری ها، قیمت گذاری، تابلوهای - TTL کوتاه (5-120 ثانیه) با کلید صحیح.

2. 2 عنوان ها

'Cache-Control: public, max-age = 600, stale-while-revalidate = 300, stale-if-error = 600'

'ETag '/' Last-Modified' برای تأیید مجدد.
'Surrogate-Control '/' CDN-Cache-Control' (اگر ارائه دهنده پشتیبانی می کند).
برای دادههای خصوصی: «Cache-Control: no-store» (نه فقط «no-cache»).

2. 3 کلید کش

Base: متد + مسیر URL + پارامترهای پرس و جو که بر پاسخ تاثیر می گذارد.
اضافات: 'Accept-Encoding' (gzip/br), 'Accept' (json/webp/avif), محلی ('Accept-Language'), منطقه/ارز اگر محتوای تحت تاثیر قرار است.
اجتناب از هدر های تصادفی (کوکی ها، شناسه های ردیابی) در کلید.


3) مدیریت متفاوت و کوکی ها

'Vary: Accept-Encoding, Accept, Accept-Language' حداقل مجموعه مورد نیاز است.

CDN سلب کوکی برای مسیرهای ذخیره شده: حذف همه چیز به جز لیست سفید (به عنوان مثال پرچم ها)

انتقال شناسه های جلسه به زیر دامنه ها/مسیرها خارج از محتوای ذخیره شده.


4) الگوهای TTL و طراوت

تغییر ناپذیر استاتیک: 'Cache-Control: عمومی، حداکثر سن = 31536000، تغییر ناپذیر' + نسخه در نام فایل.
SWRO/SIE: «stale-while-revalidate» و «stale-if-error» - مقاومت UX در مشکلات مبدأ.

TTL تقسیم شده: لیست ریشه بازی ها - 30-60 ثانیه ؛ کارت بازی - 5-10 دقیقه ؛ آگهی ها - 30 دقیقه

API مخلوط: کتاب های مرجع پایه - 5-30 دقیقه ؛ ارزها/محدودیت ها - 1-5 دقیقه ؛ ― رهبری 2-15 ثانیه.


5) ذخیره سازی لایه и سپر مبدا

انبارهای چند لایه/منطقه ای: درخواست هایی که از لبه عبور می کنند به جای مبدا در «سپر» منطقه ای می جنگند.
مزایا: MISS کمتر در مبدا، صاف کردن «طوفان»، خروج ارزان تر.
تابلوها را با جغرافیایی با بالاترین تراکم ترافیک (EU، TR، BR، LATAM) گروه بندی کنید.


6) ناتوانی و گرم شدن

پاکسازی با مسیر/پیشوند/برچسب: برچسب ها برای تمیز کردن دسته ای مناسب هستند (انتشار کاتالوگ، کمپین تبلیغاتی).
پاکسازی نرم (grace): محتوای منسوخ شده را علامت بزنید، اما قبل از رسیدن جدید آن را دور بریزید.
گرم کردن (prewarm): حالات در طول انتشار/قبل از مسابقات: رای گیری مسیرهای محبوب، تولید sprites و تغییرات از تصاویر.
ناتوانی قناری: تا حدی تمیز، اعتبار معیارها/خطاها، سپس گسترش می یابد.


7) قوانین لبه و توابع (کارگران/توابع)

Overwriting پاسخ: اضافه کردن هدر کش، عادی 'Vary'، سلب کوکی ها.
مسیریابی Geo/ASN: تغییر مسیر، محلی/ارز توسط کشور.
نشانیهای وب/سرآیندهای امضا شده برای رسانهها/اشیای محافظت شده.
تست Edge-AB: نور، بدون افزایش بار در مبدا (فقط برای استاتیک/نیمه استاتیک).
Edge-compute: ویجت سبک/شخصی سازی رندر، اما مسیر پرداخت داغ نیست.


8) تصاویر و فیلم ها

8. 1 تصاویر

تبدیل خودکار: WebP/AVIF هنگامی که مشتری 'Accept' ؛ «VARY: ACCEPT».
تغییر اندازه در لبه: پارامترهای 'w/h/fit/quality' ؛ آماده ایستگاه از پیش تنظیم (کارت، بنر، پیش نمایش).
Sprites و بهینه سازی SVG، بارگذاری تنبل در جلو.

8. 2 ویدئو/جریان

HLS/DASH با بخش های کوتاه (2-4 ثانیه)، لیست پخش های همپوشانی.
پیش بارگذاری نزدیکترین بخشها و «stale-if-error».
برای شرط های زنده - نگه داشتن بخش در سپر منطقه ای برای کاهش TTFB.


9) API از طریق CDN

GET Cacheable: اضافه کردن «Cache-Control» و کلید صحیح (محلی/ارز/منطقه).
GET شرطی: «ETag »/« If-None-Match» بایت و TTFB را کاهش می دهد.
پست/قرار دادن: ذخیره نمی شود ؛ ممکن است به کش پاسخ POST تنها تحت قوانین صریح و معانی idempointent (به ندرت توجیه).
Rate limiting/WAF در لبه: دم را با قطع رباتها/ناهنجاریها کاهش میدهد.


10) امنیت، دسترسی و انطباق

مدیریت WAF/ربات: امضا، اکتشاف رفتاری، حفاظت در برابر اسکنرهای پاداش.
URL های امضا شده/هدر برای رسانه ها و دریافت های خصوصی.
mTLS к منبع и IP اجازه لیست.
GDPR/PII/PCI: اطلاعات حساس را ذخیره نکنید ؛ API با پاسخ های شخصی - «بدون فروشگاه».
Geo-filters/interlocks در لبه با توجه به الزامات قانونی بازار.


11) شبکه و پروتکل ها

فعال کردن HTTP/2/3 در CDN، TLS از سرگیری و OCSP منگنه.
Brotli (br) برای فرمت های متن، gzip - برگشت.
تنظیم TCP/QUIC (در ارائه دهنده) → تاثیر کمتر از تلفات، به ویژه در شبکه تلفن همراه.


12) قابلیت مشاهده و SLO برای CDN

معیارها (لبه و سپر):
  • نسبت ضربه (به طور کلی و با پیشوند)، مبدا Offload.
  • TTFB P50/P95/P99 بر اساس منطقه/ASN.
  • توان/خطاهای کدهای وضعیت (لبه/مبدا).
  • تاخیر پاکسازی
  • تأخیر تبدیل تصویر (اگر از تغییر اندازۀ لبه استفاده میکنید).
مثال های SLO:
  • کاتالوگ بازی: TTFB P95 ≤ 150 میلی ثانیه، بارگیری ≥ 85٪.
  • رسانه ها (تصاویر): نسبت ضربه ≥ 90٪، خطاهای تبدیل <0. 1%.
  • API GET «دایرکتوری ها»: TTFB P95 ≤ 200 میلی ثانیه، Revalization ضربه ≥ 60٪.

13) FinOps: ارزش حافظه پنهان

Offload = کمتر از خروج با مبدا → مزایای مستقیم $.
ردیف + سپر برش «طوفان» و بار MISS.
بهینه سازی تصویر (AVIF/WebP/resize) بیشترین صرفه جویی در ترافیک را فراهم می کند.
کنترل وزن پاسخ P95 و «MISS گران قیمت» (بایت × شماره × منطقه).


14) پیکربندی و قوانین (قطعات)

14. 1 عنوان منبع (Nginx)

nginx статика с версионированием location ~ \.(css    js    woff2)$ {
add_header Cache-Control "public, max-age=31536000, immutable";
}

полустатика каталога location /catalog/ {
add_header Cache-Control "public, max-age=300, stale-while-revalidate=600, stale-if-error=600";
add_header Vary "Accept, Accept-Language";
}

14. 2 عادی سازی کلید در لبه (شبه)

js addRule((req) => {
// очищаем шум req.cookies.clearExcept(['ab', 'locale']);
// ключ = method+path+критичные query key = `${req.method}:${req.path}?lang=${q.lang}&currency=${q.cur}`;
req.setCacheKey(key);
req.setVary(['Accept', 'Accept-Encoding', 'Accept-Language']);
});

14. 3 URL امضا شده (ایده)


/media/{path}?exp=1735707600&sig=HMAC_SHA256(secret, path    exp    ip)
На edge: проверка exp и подписи, опционально привязка к IP/ASN.

15) فرآیندهای انتشار و عملیات

قلاب های انتشار: پاکسازی اتوماتیک توسط برچسب ها/پیشوندها پس از استقرار.
Prewarm-list: مسیرهای بالا در ترافیک/تبدیل - گرم کردن در پیشبرد.
کاتالوگ ماتریس TTL: با محصول/بازاریابی موافقت کرد.
حوادث: با رشد MISS/TTFB - روشن کردن stale-if-error، «شلیک» تحولات گران قیمت در لبه تا زمانی که منبع تثبیت شود.


16) چک لیست پیاده سازی

1. نقشه محتوا (استاتیک/نیمه استاتیک/API) و ماتریس TTL.
2. «Cache-Control»، «ETag/Last-Modified»، «Vary» را درست کنید.
3. کلید کش بدون «سر و صدا»، سلب کوکی، لیست های سفید.
4. ذخیره سازی طبقه + سپر مبدا بر اساس منطقه.
5. پاکسازی توسط برچسب ها/پیشوندها، پاکسازی نرم، روش های prewarm.
6. توابع لبه: عادی سازی، جغرافیایی منطق، URL های امضا شده.
7. بهینه سازی تصویر (WebP/AVIF/تغییر اندازه)، بخش HLS برای ویدئو.
8. فیلترهای WAF/bot، محدودیت های جغرافیایی، mTLS به مبدا.
9. تخته SLO: TTFB، نسبت ضربه، بارگیری، خطاهای تبدیل.
10. گزارش های FinOps: $/GB، خانم عزیز، خروج از مناطق پیشرو.


17) ضد الگوهای

«بدون کش» در همه جا «فقط در مورد».
کلید کش شامل تمام پرس و جو/هدر → نسبت صفر ضربه.
پاسخهای وابسته به کوکی برای ایستا) کل نهانگاه را میشکند (.
پاک کردن کل CDN در هر نسخه.
تحولات همزمان طولانی در لبه در طول قله.
عدم وجود «stale-while-revalidate »/« stale-if-error» - کاهش شدید UX.
ذخیره اطلاعات شخصی/پاسخ بدون «ذخیره».


18) زمینه iGaming/fintech: یادداشت های عملی

مسابقات/رویدادها: TTL کوتاه در مدیران (2-10 ثانیه) + SWR ؛ کارت های بازی prewarm و آگهی ها.
مجوز جغرافیایی: قفل لبه/تغییر مسیر توسط کشور، ارز/محلی در کلید کش.
تبلیغات و کوپن: ما آگهی ها/شرایط را ذخیره می کنیم، اما محدودیت های شخصی نیست.
بازی های مسئول: سیاست/صفحات محدودیت - نیمه استاتیک با SWR ؛ اطلاعات شخصی - فقط «بدون فروشگاه».
PSP/KYC webhooks: نه از طریق CDN، و یا لبه عبور از طریق بدون کش و با زمان های سخت.


نتیجه گیری

یک استراتژی قوی CDN هدرهای صحیح و کلید کش، لایه دار/سپر برای کاهش MISS، ویژگی های لبه برای عادی سازی و حفاظت، ناتوانی/گرم شدن برای انتشار سریع و مشاهده با SLO و FinOps است. با پیروی از این اصول، محیطی سریع و اقتصادی خواهید داشت که در برابر قله ها مقاومت می کند و TTFB را برای کاربران و شرکا قابل پیش بینی می کند.

Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.