본문 바로가기
이론

API gateway

by 류딩이2025. 12. 15.

API Gateway 정리 노트

1. API Gateway란

API Gateway는 클라이언트(웹, 모바일, 외부 시스템)와 백엔드 서비스 사이에 위치하여 모든 API 요청을 단일 진입점(Single Entry Point)으로 받아 공통 기능을 처리하고, 적절한 백엔드 서비스로 요청을 전달하는 중간 계층입니다.

마이크로서비스 아키텍처(MSA) 환경에서 인증, 트래픽 제어, 로깅과 같은 공통 기능을 중앙에서 효율적으로 관리하기 위해 사용됩니다.


2. API Gateway의 주요 역할

  • 클라이언트 요청 수신 및 백엔드 서비스 라우팅
  • 공통 정책의 중앙 집중 관리
  • 시스템 보안, 성능, 확장성 향상

3. 유량 제어 (Traffic Control / Rate Limiting)

유량 제어는 클라이언트 또는 API 단위로 요청 수를 제한하여 과도한 트래픽으로 인한 시스템 과부하를 방지하는 기능입니다.

  • 초당 / 분당 / 일당 요청 수 제한
  • 악의적 요청 및 비정상 트래픽 차단
  • 사용자 등급 또는 요금제 기반 트래픽 관리

유량 제어는 서비스의 가용성을 보장하는 API Gateway의 핵심 기능 중 하나입니다.


4. 부하 분산 (Load Balancing)

부하 분산은 동일한 백엔드 서비스의 여러 인스턴스에 요청을 분산하여 특정 서버에 부하가 집중되는 것을 방지하는 기능입니다.

  • 라운드 로빈, 가중치 기반 분산 방식 지원
  • 헬스 체크(Health Check)를 통한 정상 인스턴스 자동 선택
  • HTTP(L7) 레벨의 정교한 요청 분산 수행

API Gateway에서도 기본적인 부하 분산을 수행하며, 대규모 트래픽 환경에서는 별도의 전용 로드 밸런서와 함께 계층적으로 구성됩니다.


5. 데이터 캐싱 (Data Caching)

데이터 캐싱은 응답 데이터를 캐시 저장소에 보관하고, 동일한 요청 시 백엔드 호출 없이 즉시 응답하여 성능을 최적화하는 기법입니다.

  • 조회성(GET) API의 응답 속도 개선에 매우 효과적
  • 응답 지연 시간(Latency) 감소 및 사용자 경험 향상
  • 백엔드 서버의 리소스 소모 및 부하 감소
  • TTL(Time To Live) 설정을 통한 캐시 데이터의 최신성 유지

6. API Gateway 기능 포함 여부 요약

  • 유량 제어: 포함 (핵심 기능)
  • 부하 분산: 포함 (애플리케이션 계층 수준)
  • 데이터 캐싱: 포함 (응답 캐시 지원)
API Gateway는 유량 제어, 부하 분산, 데이터 캐싱을 포함하여 복잡한 API 트래픽을 중앙에서 통합 관리하는 현대적 인프라의 필수 컴포넌트입니다.