마지막 수정:
Click to expand / collapse
캐싱은 API의 속도를 높이고 서버로드를 줄이며 내결함성을 제공하는 가장 효과적인 방법 중 하나입니다. 데이터 레벨 (Redis), 컨텐츠 레벨 (CNC) 및 라우팅 레벨 (API 게이트웨이) 에서 다중 레이어 캐싱을 구현합니다. 이를 통해 응답 시간을 밀리 초 단위로 줄이고 과부하를 피하고 피크 호출 중에 안정성을 보장 할 수 있습니다.
우리가 사용하는 캐싱의 종류
| 레벨 | 도구 및 이점 |
|---|---|
| Redis/Memcached | 세션, 토큰, 쿼리 결과 저장을위한 빠른 메모리 내 캐시 |
| CNC (Cloudflare, Akamai) | 에지 서버에서 정적 및 준 정적 API 응답 캐싱 |
| API 게이트웨이 | 반복 요청, TTL 제어에서 백엔드에 액세스하지 않고 캐시에서 응답 |
캐시가 특히 효과적인 경우
동일한 매개 변수를 가진 중복 쿼리
많은 계산 또는 긴 작업 결과
자주 사용되는 디렉토리, 필터, 공개 데이터
지리적 분산 트래픽이있는 다중 지역 응용 프로그램
API에 대한 캐싱이 제공하는 것
즉석 재생
데이터베이스 및 백엔드로드를 줄
트래픽 급증에 대한 저항 (예: 프로모션 또는 업데이트를 시작할 때)
향상된 SLA, 타임 아웃 및 응답
인프라 비용 절감
우리가 그것을 구현하는 방법
퇴거 정책 및 네임 스페이스가있는 Redis 구성
경로, 쿼리 및 헤더 캐싱이있는 CDN을 설정합니다
게이트웨이 레벨 캐싱 (예: Kong, Tyk, Amazon API 게이트웨이 사용)
TTL, 장애 및 캐시 베이스팅 관리
메트릭과의 통합: 캐시 적중/미스, 속도, 볼륨
특히 중요한 곳
최고봉의 전자 상거래 및 홍보 서비스
API 호출이 반복되는 게임 플랫폼
지연 감도가있는 모바일 및 SAP 응용 프로그
자주 읽지 만 거의 변경되지 않은 API