엣지 컴퓨팅 및 대기 시간 제어
1) 왜 가장자리와 대기 시간 제어
Edge는 사용자에게 더 가까운 로직 실행입니다 (PoP, CNC, 로컬 운영자 PoP, 5G MEC). 목표는 RTT 및 테일 (p95/p99) 을 줄이고 코어를 내리고 지리 준수를 보장하는 것입니다.
대기 시간 제어-피크, 패킷 손실 및 종속성 저하 중에 주어진 SLO의 지연을 유지하는 일련의 아키텍처 및 프로토콜 기술.
주요 아이디어: 가치의 우선 순위가있는 지역, 비동기, 저하.
2) 주변 미터지도
정적/자산 CDO: 캐싱, 이미지/HTM 변환, Brotli, WebP/AVIF, TH/3.
에지 계산: 함수/작업자 (Cloudflare Workers, Fastly Compute @ Edge, Vercel Edge, Fly. io).
에지 데이터: KV/SQLite-on-edge/Durable Objects/Global Tables (일관성 예약 포함).
에지 보안: WAF/속도 제한/Bot mgmt/Geo-rules/HMAC 검사.
에지 네트워킹: 애니 캐스트, 스마트 라우팅,
3) 논리 배치 패턴
차폐 및 예열: 원산지 차폐 층, 인기있는 키 온난화/고정.
계산 중: 배너 개인화, A/B 분기, 지리 리디렉션.
가장자리에서 사전 정의: JWT/HMAC 검증, 가비지를 커널에 떨어 뜨립니다.
쓰기 대기열-커널로 비동기식으로 전달하여 가장자리 대기열에 사용자 정의 이벤트를 작성합니다 (idempotency!).
플래그 @ edge: 빠른 저하 스위치 (경량 페이지/디렉토리 모드).
4) 프로토콜 및 운송
KDE/3 (QUIC): 더 작은 핸드 셰이크 오버 헤드, 패킷 손실 방지. dem-mpotent GET/HEAD에만 0-RTT를 사용하십시오.
(PHP 3 = 3.0.6, PHP 4) 1/2): BBR/CUBIC, 'tcp _ fastOpen', 'keepalive', 연결 풀링.
TLS: OCSP 스테이플링, ECDSA-сер족, 세션 재개; 주변의 HSTS.
DNA: 역학, 분할 수평선, 어니 캐스트 리졸버를위한 짧은 TTL (30-120).
5) 꼬리 제어: p95/p99
헤지 요청: "시작 마감일" (예: p90 대기 시간) 이후 두 번째 백엔드에 대한 요청을 복제하고 패자를 취소하십시오.
마감일 전파: 체인이 SLA를 초과하지 않도록 'x-dailand-ms '/' grpc-Timeout' 을 통과하십시오.
적응 형 동시성: 관찰 대기 시간 (AIMD) 에 의한 로타/테넌트 동시성 제한.
벌크 헤드 및 우선 순위: 중요한 경로 (로그인/예금) 는 클래스 위의 할당량과 대기열을받습니다.
6) 시간 초과, 퇴각 및 demmpotence
총 마감일 <홉 당 타임 아웃 × N; dempotent 수술에 대해서만 후퇴합니다.
백오프 + 지터 (반 기회 지연), 블라인드 리트레이 대신 헤징.
POST를위한 Idempotency-Key (지갑/지불/보너스).
리셉션 후 클라이언트는 지수 창으로 프롬프트 (429/503) 합니다.
특사 (경로 조각)
yaml route:
timeout: 300ms retry_policy:
retry_on: "reset,5xx,connect-failure"
num_retries: 1 per_try_timeout: 150ms retry_host_predicate:
- name: envoy. retry_host_predicates. previous_hosts host_selection_retry_max_attempts: 3 hedge_policy:
initial_requests: 1 additional_request_chance: { default_value: 0. 5} # enable after per-timeout
7) 캐싱과 일관성
캐시 키 분야: 헤더/쿼리의 정규화, 필요한 필드에 의한 Vary.
부실한 상황: "약간 오래된" + 배경 업데이트의 즉각적인 반환.
소프트 TTL/하드 TTL: 읽기 경로의 경우 소프트 노후화, 중요한 구성의 경우 하드 TTL.
서명 된 교환/서명 된 탭: 지역 제한을 포함한 핫 리소스 보호.
NGINX (SWR 예)
nginx proxy_cache_valid 200 10m;
proxy_cache_use_stale updating error timeout http_500 http_502 http_504;
add_header Age $upstream_cache_status;
8) 최첨단 작업자: 예
Cloudflare Workers (JWT + Geo)
js export default {
async fetch(req, env, ctx) {
const url = new URL(req. url);
const { country } = req. cf {};
//Simple geo-policy if (country & &! ["DE, ""PL, ""SE,"" UA"] .includes (country)) {
return new Response("Region not served", { status: 451 });
}
//Easy JWT validation const token = req. headers. get("Authorization")?.replace("Bearer ","");
if (!token! isValid(token, env. JWTPUB)) return new Response("",{status:401});
//Prefetch critical data const resp = await fetch ("https ://origin. internal/api/v1/catalog", { cf:{ cacheTtl: 60, cacheEverything: true }});
return new Response(resp. body, resp);
}
}
Fastly Compute @ Edge (무게 별 카나리아)
거실/페이지에서-새 버전의 경우 5%, 가장자리 설정을 통한 빠른 롤백.
9) 우선 순위 및 저하
우선 순위 힌트: TP/2 우선 순위/HTP Early Hints (103) → 중요한 리소스의 초기 푸시.
삭제 경로: 단순화 된 UI 템플릿, 무거운 위젯 비활성화, 이미지 품질 저하.
트래픽 성형: 애니메이션의 제한, 나쁜 네트워크 (RUM 신호) 의 경우 타사 제공 업체의 위젯.
10) 경계에서의 관찰 가능성
RUM + Synthetic: Web-Vitals (LCP/CLS/INP), TTFB, RTT,
Exemplars: 특정 trace _ id 및 PoP를 사용하여 p99 스파이크를 준수하십시오.
지역 당 SLO/ASN/제공자: "p95 TTFB
테일 샘플링: 오류/p99 저장, 'edge _ pop' 세그먼트, 'region', 'tentin'.
에지 로그: WAF 적중, 봇 스코어, 캐시 상태, 지리 솔루션.
11) 타사 스크립트 관리
CSP 및 하위 자원 무결성 정책.
타사 JS를 차단하지 않고 연기/async, 격리 된 도메인, 중요한 경로로 다운로드하십시오.
개인화 및 추적-TTFB에 영향을 미치지 않으면 서 가장자리에서 비동기식으로 수행됩니다.
12) 가장자리에 안티 봇/안티 사기
장치 지문 및 속도는 코어로 제한됩니다.
토큰 바인딩 (양식/작업 당 일회성 토큰), 요청의 HMAC 서명.
챌린지 스텝 (Turnstile/hCaptcha) 은 위험이 증가한 경우에만 가능합니다. IP/ASN/세션별로 "신뢰" 캐시.
13) iGaming/Finance의 세부 사항
지리 준수: 관할권별로 차단/리디렉션 (규칙 페이지, 책임있는 게임).
PSP/KYC 우선 순위: "건강한" 공급자 (스마트 라우팅) 로의 엣지 라우팅, PSP 도메인에 대한 개별 TTL/가중치 DNS에 대한 가장자리 라우팅.
남용 방지: 가장자리의 속도 신호를 고려하여 예금/등록/보너스 제한; 모든 쓰기 작업은 demmpotent입니다.
데이터 레지던트: 개인 데이터는 가장자리에 캐시되지 않습니다. PII 헤더가 편집/삭제되고 PSP로 TLS를 피닝하는 것이 활성화됩니다.
"돈" 경로에 대한 CLO: 더 엄격한 p95/p99, 할당 된 할당량, 개별 경고.
14) 건축 요리법
14. 1 "빠른 전선"
웹 템플릿과 가장자리의 중요한 CSS, '오래된 재발행' 을 통한 데이터, 무거운 위젯이 게으르다.
14. 2 "돈의 길"
에지, 빠른 규칙/제한 점검, 큐잉, 202/OK 응답, 후속 웹 후크/폴링; PSP로의 마감일 및 헤징.
14. 3 "카탈로그/게임"
디렉토리/컨디셔닝-글로벌 KV/엣지 캐시; 지역 가격/연령-로컬 규칙에 따른 최첨단 계산.
15) 성능 및 비용
캐시는 정적의 경우 95% 이상, 대상의 반 역학 (HTM 조각) 의 경우 70% 이상을 기록했습니다.
지역 PoP 및 오래된 응답을 통해 "교차 지역 탈출" 을 줄입니다.
추적 규칙은 소중한 경우를 유지하면서 × 10- × 100의 부피를 제한합니다.
QUIC 프로토콜은 RTT를 저장하지만 폴백을 H2에 유지합니다.
16) Prod 준비 점검표
- TP/3/QUIC 활성화; demempotent에 대해서만 0-RTT.
- 에지 작업자: JWT/HMAC 검증, 지리 규칙, 기능 플래그 저하.
- 캐시 전략: 키, SWR, 소프트/하드 TTL; 원산지 방패 + 워밍업.
- 헤징, 마감일 전파, 적응 형 동시성, 벌크 헤드.
- 타임 아웃/리트레이: 백오프 + 지터, dem 등원 반복 만.
- RUM + 합성; 지역/ASN 별 SLO; 테일 샘플링 p99/오류.
- CSP/SRI 및 타사 스크립트 제어; 가장자리에서 WAF/봇 득점.
- iGaming의 경우: 지리 준수, 스마트 라우팅 PSP, 캐시에 PII가없는 demempotency를 작성하십시오.
- 런북: 열화/중량/롤백 카나리아를 활성화하는 방법.
- 테스트: 1-3% 의 손실, 혼돈 지연, 연습-DNA 장애로 인한 대기 시간.
17) TL; DR
사용자에게 가능한 한 논리를 제공하고 (가장자리 작업자 + 캐시), TP/3/QUIC에 대해 이야기하고, 타임 아웃/마감일을 엄격하게 제어하고, "꼬리를 자르십시오" p99 헤징 및 벌크 헤드/우선 순위. 별도의 할당량과 SLO, 모든 레코드와 같은 중요한 경로는 demotent입니다. 관찰 가능성-RUM + 합성 + 꼬리 추적. iGaming의 경우-지리 준수, 스마트 라우팅 PSP/KYC, 경계에서 제로 PII 누출 및 빠른 저하 모드.