Technologie und Infrastruktur → CDN-Netzwerke und Content-Caching
CDN-Netzwerke und Content-Caching
1) Warum CDN und Cache
Das CDN (Content Delivery Network) reduziert RTT und TTFB, entlastet die Herkunft und stabilisiert die Schwänze der P95/P99. Für iGaming/Fintech sind dies:- Schnelles erstes Byte für Katalog, Assets, Promo, Medien.
- Spitzenresilienz (Turniere/Events) ohne explosives Wachstum der Ursprungskapazitäten.
- egress Einsparungen und vorhersehbare Kosten.
- Geocontrolling (Regulierung, Lizenzierung von Inhalten).
2) Grundlegende Caching-Strategien
2. 1 Antworten, die Sie zwischenspeichern können
Statik: JS/CSS/Schriftarten/Icons - lange TTL (30-365 Tage) + Datei-Hash im Namen.
Halbstatik: Spielekataloge, Banner, Configs - TTL von Minuten bis Stunden + 'stale-while-revalidate'.
GET/HEAD API: Handbücher, Pricing, Leaderboards - kurze TTLs (5-120 sec) mit korrektem Schlüssel.
2. 2 Überschriften
`Cache-Control: public, max-age=600, stale-while-revalidate=300, stale-if-error=600`
„ETag “/„ Last-Modified“ für bedingte Anfragen (Revalidation).
'Surrogate-Control '/' CDN-Cache-Control' (falls vom Provider unterstützt).
Für private Daten: 'Cache-Control: no-store' (und nicht nur 'no-cache').
2. 3 Cache-Schlüssel (Cache-Schlüssel)
Basis: Methode + URL-Pfad + Query-Parameter, die die Antwort beeinflussen.
Zusätze: 'Accept-Encoding' (gzip/br), 'Accept' (json/webp/avif), local ('Accept-Language'), Region/Währung, wenn der Inhalt betroffen ist.
Vermeiden Sie es, in den Schlüssel zufälliger Überschriften (Cookies, Trace Ids) zu gelangen.
3) Vary-Management und Cookies
'Vary: Accept-Encoding, Accept, Accept-Language' ist das minimal notwendige Set.
Cookie-Stripping auf CDN für Caching-Pfade: Wir entfernen alles außer whitelisted (z.B. AB-Flags).
Übertragung von Session-IDs in Subdomains/Pfade außerhalb des Caching-Inhalts.
4) TTL und Frischemuster
Immutable Statik: 'Cache-Control: public, max-age = 31536000, immutable' + Versionen im Dateinamen.
SWRO/SIE: 'stale-while-revalidate' und 'stale-if-error' - UX-Resistenz bei Problemen beim Ursprung.
Partitionierte TTL: Root-Liste der Spiele - 30-60 Sekunden; Spielkarte - 5-10 Minuten; Banner - 30 Min.
API-Mix: Basisverzeichnisse - 5-30 min; Währungen/Limits - 1-5 min; Leaderboard ― 2-15 Sek.
5) Tiered caching и origin shield
Tiered/Regional caches: Anfragen, die an der Kante vorbeigegangen sind, schlagen in einem regionalen „Schild“ statt Ursprung.
Vorteile: weniger MISS auf Herkunft, Glättung „Stürme“, billiger egress.
Gruppieren Sie die Schilde nach Geo mit der höchsten Verkehrsdichte (EU, TR, BR, LATAM).
6) Behinderung und Aufwärmen
Purge by path/prefix/tag: Tags sind praktisch für die Batch-Bereinigung (Katalogfreigabe, Werbekampagne).
Soft purge (grace): Wir markieren den Inhalt als veraltet, geben ihn aber ab, bevor ein neuer kommt.
Aufwärmen (prewarm): Szenarien bei der Veröffentlichung/vor dem Turnier: Befragung beliebter Pfade, Generierung von Sprites und Bildvariationen.
Kanarische Behinderung: teilweise reinigen, Metriken/Fehler validieren, dann erweitern.
7) Randregeln und Funktionen (Arbeiter/Funktionen)
Antworten überschreiben: Cache-Header hinzufügen, 'Vary' normalisieren, Cookies strippen.
Geo/ASN-Routing: Umleitungen, Local/Währung nach Land.
URL-Signatur (Signed URLs/Headers) für geschützte Medien/Objekte.
Edge-AB-Tests: leicht, ohne Erhöhung der Belastung der Herkunft (nur für Statik/Semistatik).
Edge-compute: Rendern Sie einfache Widgets/Personalisierung, aber keine heiße Zahlungsmethode.
8) Bilder und Videos
8. 1 Bilder
Autokonversion: WebP/AVIF bei 'Accept' des Kunden; 'Vary: Accept'.
Edge-Resizing: Parameter 'w/h/fit/quality'; Presets vorbereiten (Karte, Banner, Vorschau).
Sprites und SVG-Optimierung, lazy-loading ganz vorne.
8. 2 Video/Stream
HLS/DASH mit kurzen Segmenten (2-4 sec), überlappende Wiedergabelisten.
Preload der nächsten Segmente und 'stale-if-error'.
Für Live-Wetten - Halten Sie Segmente in einem regionalen Shield, um TTFB zu reduzieren.
9) API über CDN
Cache GET: Fügen Sie' Cache-Control 'und den korrekten Schlüssel (locale/currency/region) hinzu.
Conditional GET: 'ETag '/' If-None-Match' reduziert Bytes und TTFB.
POST/PUT: nicht zwischengespeichert; Sie können POST-Antworten nur mit expliziten Regeln und idempotenter Semantik (selten gerechtfertigt) zwischenspeichern.
Rate limiting/WAF am Rand: Reduziert Schwänze durch das Abschneiden von Bots/Anomalien.
10) Sicherheit, Zugang und Compliance
WAF/Bot-Management: Signaturen, Verhaltensheuristiken, Schutz vor Bonusscannern.
Signierte URLs/Header für Medien- und private Downloads.
mTLS к origin и IP allow-list.
DSGVO/PII/PCI: keine sensiblen Daten zwischenspeichern; API mit persönlichen Antworten - „No-Store“.
Geo-Filter/Sperren am Rand nach den Anforderungen der Marktregulierer.
11) Netzwerk und Protokolle
Aktivieren Sie HTTP/2/3 auf CDN, TLS resumption und OCSP stapling.
Brotli (br) für Textformate, gzip - fallback.
TCP/QUIC-Tuning (beim Provider) → weniger Auswirkungen von Verlusten, insbesondere im Mobilfunknetz.
12) Beobachtbarkeit und SLO für CDN
Metriken (nach Rand und Schild):- Hit Ratio (insgesamt und durch Präfixe), Origin Offload.
- TTFB P50/P95/P99 nach Regionen/ASN.
- Durchdringung/Fehler durch Statuscodes (Rand/Ursprung).
- Purge latency (Lieferfrist für Invalidität).
- Image transform latency (wenn Sie das Resizing am Rand verwenden).
- Spielekatalog: TTFB P95 ≤ 150 ms, Offload ≥ 85%.
- Medien (Bilder): Hit Ratio ≥ 90%, Transformationsfehler <0. 1%.
- API GET „Handbücher“: TTFB P95 ≤ 200 ms, Revalidation Hit ≥ 60%.
13) FinOps: Wert des Cache
Offload = weniger egress mit Ursprung → gerade $ -Ausgaben.
Tiered + Schild schneiden „Stürme“ und MISS-Last.
Die Optimierung von Bildern (AVIF/WebP/resize) führt zu den größten Verkehrseinsparungen.
Kontrollieren Sie P95 Antwortgewicht und „teure MISS“ (Bytes × × Region).
14) Configs und Regeln (Fragmente)
14. 1 Überschriften Ursprung (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 Normalisierung des Schlüssels am Rand (Pseudo)
js addRule((req) => {
// очищаем шум req.cookies.clearExcept(['ab', 'locale']);
// ключ = method+path+критичные query key = `${req.method}:${req.path}?lang=${q.lang}¤cy=${q.cur}`;
req.setCacheKey(key);
req.setVary(['Accept', 'Accept-Encoding', 'Accept-Language']);
});
14. 3 Signierte URL (Idee)
/media/{path}?exp=1735707600&sig=HMAC_SHA256(secret, path exp ip)
На edge: проверка exp и подписи, опционально привязка к IP/ASN.
15) Freigabe- und Betriebsprozesse
Release hooks: Automatische Verfolgung durch Tags/Präfixe nach dem Deploy.
Prewarm-Liste: Top-Wege durch Verkehr/Umbau - vorher aufwärmen.
Katalog TTL-Matrix: abgestimmt auf Produkt/Marketing.
Vorfälle: mit dem Wachstum von MISS/TTFB - wir schalten den Stale-if-Fehler ein, „entfernen“ die teuren Transformationen am Rand, bis sich der Ursprung stabilisiert.
16) Checkliste Umsetzung
1. Inhaltsübersicht (Statik/Semistatik/API) und TTL-Matrix.
2. Korrekte' Cache-Control', 'ETag/Last-Modified', 'Vary'.
3. Cache-Schlüssel ohne „Rauschen“, Cookie-Stripping, Whitelists.
4. Tiered caching + Ursprungsschild nach Regionen.
5. Purge nach Tags/Präfixen, Soft Purge, Prewarm-Prozeduren.
6. Edge-Funktionen: Normalisierung, Geo-Logik, signierte URLs.
7. Bildoptimierung (WebP/AVIF/resize), HLS-Segmente für Videos.
8. WAF/Bot-Filter, Geo-Einschränkungen, mTLS zum Ursprung.
9. SLO-Dashboards: TTFB, Trefferverhältnis, Offload, Transformationsfehler.
10. FinOps-Berichte: $/GB, liebe MISSs, führende Regionen auf egress.
17) Anti-Muster
„No-Cache“ ist überall „nur für den Fall“.
Der Cache-Schlüssel enthält alle Query/Header → Zero Hit Ratio.
Cookie-abhängige Antworten für Statik (bricht den Cache vollständig).
Bereinigung des gesamten CDN bei jeder Freigabe.
Lange synchrone Transformationen am Rand während der Spitzen.
Das Fehlen von 'stale-while-revalidate '/' stale-if-error' sind drastische UX-Degradationen.
Caching von persönlichen Daten/Antworten ohne „No-Store“.
18) iGaming/Fintech Kontext: Praktische Hinweise
Turniere/Events: kurze TTL zu Leaderboards (2-10 sec) + SWR; prewarm Spielkarten und Banner.
Geo-Lizenzierung: Edge-Sperren/Umleitungen nach Land, Währung/Local im Cache-Schlüssel.
Promo und Coupons: Zwischenspeichern von Bannern/Bedingungen, aber keine persönlichen Grenzen.
Verantwortungsvolle Spiele: Politik/Limitseiten - halbstatisch mit dem SWR; personenbezogene Daten - nur „No-Store“.
PSP/KYC Webhooks: nicht über CDN oder Edge-Pass-Through ohne Cache und mit harten Timeouts.
Ergebnis
Eine starke CDN-Strategie besteht aus den richtigen Headern und dem richtigen Cache-Schlüssel, tiered/shield für die MISS-Reduzierung, Edge-Funktionen für Normalisierung und Schutz, Invalidität/Aufwärmen für schnelle Releases und Beobachtbarkeit mit SLO und FinOps. Durch die Einhaltung dieser Prinzipien erhalten Sie einen schnellen und kostengünstigen Perimeter, der Spitzen standhält und TTFB für Benutzer und Partner vorhersehbar macht.