GH GambleHub

CDN- und Latenzreduktionsoptimierung

1) Ziele und Verzögerungskarte

Latency = DNS + TCP/TLS + TTFB (Server/Origin/Cache) + Content Delivery (RTT × Volumen) + Client Renderer.
Optimierung = Wir reduzieren die Anzahl der RTTs, reduzieren die Bytes und bringen die Berechnungen/den Cache näher an den Benutzer.

2) CDN-Architektur

Anycast POPs ist ein naher Knoten für BGP-Routing.
Tiered caching/Origin Shield ist eine „Regenschirm“ -Zwischenschicht, die den Miss-Sturm auf das Origin reduziert.
Geo-/Regionalrouting - Tenant/Jurisdiktionsbindung (Datenhoheit, Lizenzen).
Failover - Standby-Origin/Region, Gesundheitstests und Schnellschalter.

3) Cache: Schlüssel, Überschriften, Strategien

3. 1 Cache-Schlüssel (Cache-Schlüssel)

Die Standardeinstellung ist 'scheme + host + path +? query'.
Fügen Sie nur die gewünschten Parameter hinzu ('? v =','? lang =','? tenant ='). Der Rest ist in ignore-params.
'Vary' ist das Minimum: 'Accept-Encoding', 'Accept-Language' (wenn die Wahrheit benötigt wird), 'Authorization' bricht normalerweise den Cache.

3. 2 Politik

Öffentliche Statik: 'Cache-Control: public, max-age = 31536000, immutable' + rev (hash im Namen).
Halbdynamik (Kataloge, Regeln, FAQ): 's-maxage = 300, stale-while-revalidate = 600, stale-if-error = 86400'.
API-GET: Verwenden Sie ETag/Last-Modified, 'SWR/SIE', aktivieren Sie Coalescing (eine Hotkey-Anforderung).
Privat: Persönliche Antworten - am Perimeter über Edge-Compute (ESI/kv) oder Per-Tenant-Cache.

3. 3 Anti-Sturm

Fordern Sie Coalescing an - brechen Sie gleichzeitige Miss-Anfragen ab.
Serve-stale - Geben Sie ein veraltetes Objekt, wenn ein Origin fehlschlägt.
Background revalidation - Aktualisieren Sie im Hintergrund.

4) HTTP/2-3, TCP/TLS und frühe Rückkehr

HTTP/2: Multiplex, Header-Komprimierung; begrenzen Sie' max concurrent streams', große Überschriften.
HTTP/3 (QUIC): starker Rückgang der TTFB bei mobilen/hohen Verlusten; Achten Sie auf Initial-Schwellenwerte und Retry.
TLS 1. 3: 1-RTT handshake; OCSP stapling; HSTS.
0-RTT: nur für idempotente' GET 'und wenn Replay-Risiken berücksichtigt werden.
103 Early Hints: frühe' Link: rel = preload 'für kritische Ressourcen.
Preconnect / DNS-prefetch: `<link rel="preconnect" href="https://cdn. example">`.

5) Edge-Compute und „subtile Personalisierung“

Am Rand: Header-Zählung, Geo/Tenant-Fixierung, A/B-Markierung, einfache Personalisierung ohne Aufforderung zum Origin.
Regel: PII nicht auf POP-Knoten speichern; nur Aggregate/öffentliche Daten zwischenspeichern.

6) Medien- und Formatoptimierung

Bilder: automatische Konvertierung in WebP/AVIF, resize-on-edge, 'srcset/sizes', 'lazyload'.
Kompression: Brotli für Texte (HTML/CSS/JS/JSON), gzip fallback.
Video: HLS/DASH, CDN-Segment Caching, 'preload = metadata', Poster.
Schriftarten: subset + 'font-display: swap'; Hosting mit langem Cache.
Kritische CSS: inline ersten Bildschirm; Der Rest ist async.

7) API-Muster und Caching

Idempotent GET - Zwischenspeichern von Abfrageschlüsseln (einschließlich Datenversion).
ETag: starker Payload-Hash + „If-None-Match“.
Surrogate-Control (CDN-Spezifität) zur Unterscheidung vom Client 'Cache-Control'.
Signierte URLs - für private Statik/Medien.
GraphQL: Normalisieren Sie den Cache-Schlüssel nach Operation/Variablen; Partielles Caching/Resolver-Cache verwenden.
WebSockets: für Echtzeit - Nachrichten reduzieren, komprimieren (permessage-deflate), WS-Shards näher am Benutzer positionieren.

8) Beispiele für Konfigurationen

8. 1 NGINX (Origin: Zwischenspeichern von 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, coalescing, ignore cookies)

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 (Transform Rules, Cache Rules, Early Hints — псевдо)

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) Mobilfunknetze und „nicht nachhaltiges“ Internet

Verwenden Sie HTTP/3 aggressiv; den kritischen Pfad verkleinern (HTML + critical CSS <14 KB).
Priority H2/H3: Priorisieren (HTML→CSS→JS→media später).
Retray-Richtlinie mit Jitter, idempotency für API.
Größe-Budgets und Bündelung: Code-Splitting, Deferred JS, Entfernen von nicht verwendetem CSS/JS.

10) Beobachtbarkeit und SLO

RUM: TTFB, LCP, INP, CLS nach Regionen/ASN/Tenanten; Verteilung p95/p99.
Synthetik: Kontrollroute „/health/cdn “durch POP-am.
Cache-Metriken: Hit-Ratio Overall und Per-Key; origin fetch rate; coalescing savings.
Alertas: Hit-Ratio-Rückgang, Origin-Egress-Wachstum, H3-Lappen-Abbau, 5xx auf Schild.

11) Spezifität von iGaming/Finanzen

Spielkataloge/Quoten: kurz' s-maxage'+ SWR; region-aware ключ (`tenant|region|lang`).
Event-Spitzen (Matches, Ziehungen): Cache-Aufwärmen (Pre-Warm), „Einfrieren“ schwerer Personalisierungen, Mirror-Quellen.
Payment/Cabinet: Nicht privat zwischenspeichern, sondern über H3 + edge-TLS und eine nahe Region beschleunigen.
Jurisdiktionen: getrennte Domänen/Pfade pro Region; Kontrolle „Vary: X-Region“.

12) Antipatterns

„Vary:“ für alle hintereinander; Cache-Schlüssel hängt von überflüssigen Cookies/Headern ab.
Das Fehlen von SWR/SIE → „schwarze Bildschirme“ mit kurzen Origin-Abstürzen.
Cache-Bereinigung „überall“ statt punktueller Behinderung durch Tags/Schlüssel.
Ressourcen ohne Namensrevision und mit 'max-age = 0'.
Ein globaler Deny-Cache für 'Authorization' auch dort, wo public gegeben wird.
Mangel an Coalescing → Sturm auf Origin.
Vorzeitige „harte“ Personalisierung auf POP.

13) Checkliste Prod-Ready

  • Anycast POP + tiered/shield; health-checks und origin failover.
  • Cache-Schlüssel sind minimal; überflüssige Query/Cookies ignorieren; 'Surrogate-Control'.
  • SWR/SIE enthalten, Coalescing aktiv; serve-stale bei Fehlern.
  • HTTP/3 enthalten; TLS 1. 3; 103 Early Hints sind für kritische Ressourcen eingerichtet.
  • Bilder: AVIF/WebP, resize-on-edge; Brotli für Texte.
  • API-GET с ETag/Last-Modified; Idempotenz/Retrai; keine privaten Profile zwischenspeichern.
  • Preconnect zu Statik-Domänen; kritische CSS-Inline.
  • Metriken: hit-ratio, origin-egress, TTFB/LCP p95, H3-Anteil, nach Regionen/Tenanten.
  • Plan zum Aufwärmen des Caches vor Ereignissen; punktuelle Behinderung (Tags).
  • Vary/keys/TTL-Dokumentation; Playbook der Vorfälle (Hit-Ratio-Sturz).

14) TL; DR

Das Wandern zum Origin auf ein Minimum reduzieren: tiered/shield + die richtigen Cache-Keys + SWR/SIE + coalescing. Schalten Sie HTTP/3/TLS 1 ein. 3, verwenden Sie 103 Early Hints und Preconnect. Komprimieren und konvertieren Sie Medien am Rand, inline kritisches CSS. Für APIs - ETag, ordentlich 'Vary', Idempotenz und intelligentes Caching 'GET'. Messen Sie Hit-Ratio, TTFB/LCP p95, Origin Egress und wärmen Sie den Cache bei Peaks im Voraus auf.

Contact

Kontakt aufnehmen

Kontaktieren Sie uns bei Fragen oder Support.Wir helfen Ihnen jederzeit gerne!

Integration starten

Email ist erforderlich. Telegram oder WhatsApp – optional.

Ihr Name optional
Email optional
Betreff optional
Nachricht optional
Telegram optional
@
Wenn Sie Telegram angeben – antworten wir zusätzlich dort.
WhatsApp optional
Format: +Ländercode und Nummer (z. B. +49XXXXXXXXX).

Mit dem Klicken des Buttons stimmen Sie der Datenverarbeitung zu.