게임 및 자산을위한 CNC: 전 세계적으로 TTFB 감소
1) iGaming의 "빠른" 것과 우리가이기는 곳
중요한 UX 포인트:- 로비와 미디어 (게임 아이콘, 미리보기, 배너) -즉석 렌더링;
- 슬롯/라이브 테이블 시작-최소 리디렉션 및 오버로드;
- 피드/리스트 (게임 카탈로그, 규칙, 번역) -저렴한 캐시 된 JSON;
- 비디오/방송 (예고편, 스트림 용 HLS/DASH);
- 정적 전면 자산 (JS/CSS/글꼴).
- 글로벌 TTFB: 정적 당 150-250 ms, 가장자리에 캐시 된 스피커 당 300-400 ms;
- TTFS (Time-to-First-Spin): 공급자의 첫 번째 요청 (로비 렌더링 후) 까지 800ms;
- p95 아이콘 다운로드: λ200ms.
2) CNC 레이어 아키텍처: 성능 파이
1. 전 세계적으로 모든 PoP: 가장 가까운 사이트의 자동 선택, RTT 감소.
2. 계층 형 캐시 + 원산지 방패: PoP → 원산지 폭풍을 진압하기 위해 원산지 전에 지역 캐시 → 1-2 쉴드 노드.
3. 다중 원산지: 자산 자산 또는 자산 대기 (EU/US/APAC), 건강 점검 및 스마트 라우팅.
4. 가장자리 기능: 원점화하기 쉬운 논리 (A/B, 지리, 서명, IM/헤더 정규화).
5. 개인 백본 CDN은 먼 지역의 "야생" 인터넷 코어를 통과합니다.
3) 현금 전략: 무엇, 어디서, 얼마나
원리: 가능한 경우 불변의 경우, 역학에 대한 짧은 TTL, 버스트에 대한 SWR (오래된 재발행), 결정 론적 키.
TTL 행렬 (예):중요: 캐시하는 API-GET의 경우 브라우저가 정체되지 않도록 Surrogate-Control (CDN의 경우) 및 짧은 'Cache-Control' (브라우저의 경우) 을 사용하십시오.
4) 캐시 헤더 및 키: 미스를 최소화
캐시 키 = '체계 + 호스트 + 경로 + 정규화 된 쿼리 + 변형'.
쿼리 매개 변수의 순서를 정규화하고 "가비지" ('utm _', 'fbclid' 등) 를 버립니다.
헤더 옵션: '수락 인코딩' (Brotli/Zstd/Gzip), '수락' (AVIF/WebP/해), 'DPR' (클라이언트 힌트), '수락 랑그'.
제목 참조 (불변의 자산):
캐시 제어: 공개, 최대 연령 = 31536000, 불변성
ETag: "sha256- <hash>"
콘텐츠 인코딩: br # 및/또는 zstd/gzip, 아래 참조
Vary: 수락 인코딩, 수락, DPR, 저장 데이터
캐시 제어: 공개, 최대 연령 = 60, 부실한 기간 = 300
대리 제어: max-age = 300, 부실한 기간 = 6005) 압축 및 형식: 더 적은 바이트-TTFB 아래
TP/3 + QUIC는 악수 대기 시간을 줄이고 패킷 손실에 강합니다.
텍스트 자산 용 Brotli (JS/CSS/JSON), 레벨 5-7 (CPU 잔액/혜택).
JSON/NDJSON의 Zstd (CDN이 지원되는 경우) 는 대기 시간이 짧을 때 압축이 우수합니다.
이미지를위한 WebP/AVIF ('수락' 에 의한 자동 적합).
모든 것을 당기지 않도록 비디오/큰 파일에 대한 범위 요청.
6) 가장자리를 통한 배송: 프리 페치 및 스마트 로비
로비에서 미리 가져 오기: 게임 카드가 보이는 영역에 도착하자마자 공급자의 아이콘, 규칙, 작은 "매니 베스트" 를로드하십시오.
초기 힌트 (103) 및 '사전 연결' 은 CDN에 호스트됩니다.
Edge-function-warmup: 이벤트에서 "게임을 맨 위에 놓으십시오" -가장 가까운 PoP 시장 프로모션에서 상위 아이콘과 구성을 예열하십시오.
적응 형 페이로드: 3G/Save-Data의 모바일에서 경량 목록 (10-20 게임) 을 보냅니다.
7) 원산지 방패 및 "미스 스톰" 방어
중복 제거 된 페치를 켜십시오: 수백 번의 병렬 미스로 시작하는 한 번의 트립 (통합).
많은 수의 키의 "동시" 만료에 대한 Jitter TTL (λ20%).
카나리아 릴리스: 전 세계 장애인에게 5-10% 우위 트래픽에 대한 새로운 카탈로그/규칙을 출시하십시오.
시작 전 토너먼트의 '404/204' 에있는 네거티브 캐시 (매우 짧은 1-5 초) 는 "망치" 원산지가 아닙니다.
8) 지리 제약, 라이센스 및 보안
비 라이센스 국가의 경우 지오 펜싱은 빠르고 중립적 인 응답입니다 (403).
개인 콘텐츠 (VIP 자료, 보너스 리소스) 에 서명 된 맵/쿠키.
핫 링크 및 추천자로부터 보호하고, 캐시하는 API-GET에 대한 PoP의 WAF 규칙 (유효한 JSON 체계, IP/ASN 제한).
TLS 1. 3, HSTS, CDN의 전면 도메인에서 OCSP 스테이플링.
9) 수정 및 장애
파일 이름의 컨텐츠 해시: 'app. 
JSON/카탈로그/배너: 이벤트 장애 (CC/관리자 패널의 웹 후크) + 자동 온난화 상단 키.
글로벌 퍼지를 피하십시오. 접두사/태그로 포인트 퍼지를합니다.
10) 비디오 및 스트림: CDN의 HLS/DASH
짧은 세그먼트 (2-4s) + '# EXT-X-PREFETCH '/Low-Latency HLS 지원.
세그먼트에 대한 PoP 간의 계층 형 캐시; '캐시 제어: 공개, 최대 연령 = 3600'.
지역별 재생 목록 (비트 전송률 옵션) 및 로컬 자막; 레인지 친화적 인.
11) 게임 제공 업체의 세부 사항
공급자 메타 데이터 (목록, 한계, 로케일) -' SWR '로 JSON을 캐시했습니다.
아이콘 및 프로모션 미디어 제공 업체-원산지가 느리지 않도록 CDN에서 다시 호스팅합니다.
CDN의 도메인 풀 (그러나 도메인 sharding이없는 - 도 메인/2/3은 필요하지 않음) - 정책을 분리하기 위해 큰 비디오/정적/API를 분리합니다.
12) 규칙의 예 (의사, 가장자리 함수)
js 불이행 async (req) => {
//req 키를 정규화합니다. (PHP 3 = 3.0.6, PHP 4) ², ['lang', 'dpr', 'v'] ;//쓰레기 덤프
//Geofencing if (! isisnessed (req.geo. 국가)) 리턴 지오 블록 ();
(req. 경로. startsWith ('/vip/') verifySignatureOr403 (req);
//정책 캐시 (req. 경로. (PHP 3 = 3.0.6, PHP 4)    css    woff2) $/) & hasHash (req. 경로) {
세트 헤더 ('캐시 제어', '공개, 최대 연령 = 31536000, 불변성');
그렇지 않으면 (req. 경로. 끝으로 ('/게임. json ') {
세트 헤더 ('Cache-Control', 'public, max-age = 60, 부실한 동안 계시록 = 300');
세트 헤더 ('Surrogate-Control', 'max-age = 300, 부실한 동안 계시록 = 600');
}
//압축 협상 인코딩 (['ml', 'zstd', 'ggip']);
fetchFromCacheThenOrigin (req) 반환;
}13) CDN과 SLO 관찰 가능성
RUM: 지역/네트워크 (모바일 vs Wi-Fi) 별로 'TTFB', 'LCP', '첫 페인트' 를 수집하십시오.
가장자리 지표: 적중/미스, 차폐 적중 비율, 접두사 미스, 발신 트래픽 볼륨, '4xx/5xx' 코드.
경고: 히트 비율 하락, 지역 TTFB 상승, "미스 스톰", '429' 스파이크/ASN 봇.
흔적: '화상' 을 보려면 '가장자리 → 방패 → 원점' 을 표시합니다.
14) 비용: 초과 지불하지 않는 방법
캐시가 무겁고 뜨겁습니다 (아이콘/비디오/디렉토리) -원산지에서 빠져 나옵니다.
키의 카디널리티를 줄입니다 (가비지 쿼리/UA 변형 제거).
계층 형 캐시 및 지역 쉴드 노드는 백엔드 요청을 저장합니다.
압축 (Brotli/Zstd) 은 트래픽을 줄입니다. AVIF/WebP-사진을위한 마스트 하이브.
15) 생산 준비 점검 목록
- 대상 시장 (EU, LatAm, MENA, APAC) 의 적용 범위를 가진 Anycast CDN; HTT/3이 포함되었습니다
- 콘텐츠 해시가있는 불변의 자산; '캐시 제어: max-age = 1y, 불변의'.
- 카탈로그/JSON-SWR + 대리 제어, TTL 30-300 초, CMS의 포인트 장애.
- 계층 형 캐시 + Origin Shield, 합병, TTL-jitter.
- 형식: AVIF/WebP, Brotli/Zstd, 비디오 범위.
- Edge 함수: 쿼리 정규화, 지리 필터, 부호있는 IM, A/B
- PoP의 지리 제약 및 WAF; HTTPS 만 (HSTS), TLS 1. 3.
- 관찰 가능성: RUM TTFB/LCP, 적중 비율, 지역 경고.
- 프로모션/스트림, 카나리아 계산 전의 예열 절차.
- 캐시 키 문서, 장애 정책 및 "미스 스톰" 런북입니다.
요약 다시 시작
전 세계의 TTFB를 실제로 줄이려면 Anycast + 계층 형 캐시 + 원산지 쉴드를 사용하고 모든 버전에 불변을 만들고 동적 목록에 SWR을 사용하고 바이트 (Brotli/Zstd, AVIF/WebP) 를 자르고 가장자리에 키를 정규화하고 지오 필터 및 서명. 프로모션 전에 최고의 게임을 예열하고 RUM을 통해 TTFB/LCP를 측정하고 히트 비율을 제어하십시오. 이렇게하면 로비가 즉시 열리고 게임이 일시 중지되지 않고 시작되며 원산지는 차갑고 저렴합니다.
