API Gateway
API Gateway(API 게이트웨이)는 클라이언트의 API 요청을 받아 인증, 라우팅, 부하 분산, 모니터링 등을 처리한 뒤 적절한 백엔드 서비스로 전달하는 중앙 진입점이다. 여러 마이크로서비스를 하나의 통합된 인터페이스로 노출한다.
API 게이트웨이는 공통 관심사를 한곳에서 처리해 개별 서비스의 복잡도를 낮추고 보안과 운영을 표준화한다. 마이크로서비스 아키텍처에서 필수적인 구성 요소로 자리잡고 있다.
주요 특징
- 단일 진입점: 모든 API 요청을 하나의 통합 지점에서 수신함.
- 라우팅: 요청을 적절한 백엔드 서비스로 전달함.
- 인증·인가: 접근 권한을 검증하고 보안 정책을 적용함.
- 속도 제한: 요청량을 제어해 서비스를 보호함.
- 모니터링·로깅: 트래픽과 성능을 관측하고 기록함.
장점
- 복잡도 감소: 공통 기능을 중앙화해 개별 서비스를 단순화함.
- 보안 강화: 인증과 정책을 일관되게 적용함.
- 운영 표준화: 모니터링과 정책 관리를 통합함.
- 유연한 확장: 백엔드 변경을 클라이언트에 감춤.
- 성능 최적화: 캐싱과 부하 분산으로 응답을 개선함.
관련 용어
- 마이크로서비스: 작은 단위 서비스로 구성하는 아키텍처.
- 리버스 프록시: 클라이언트 요청을 백엔드로 중계하는 서버.
- 로드 밸런싱: 요청을 여러 서버에 분산하는 기술.
- 속도 제한(Rate Limiting): 단위 시간당 요청 수를 제한하는 기법.
- 서비스 메시: 서비스 간 통신을 관리하는 인프라 계층.
주요 솔루션 및 사용 사례
- 주요 솔루션
- Kong: 플러그인 기반의 오픈소스 API 게이트웨이.
- NGINX: 고성능 프록시로 API 게이트웨이 역할을 수행함.
- AWS API Gateway: 관리형 API 게이트웨이 클라우드 서비스.
- Apache APISIX: 동적 라우팅을 지원하는 오픈소스 게이트웨이.
- Spring Cloud Gateway: 스프링 기반 API 라우팅 프레임워크.
- 사용 사례
- 마이크로서비스 통합: 다수의 서비스를 단일 API로 노출함.
- API 보안 적용: 인증·인가를 중앙에서 처리함.
- 트래픽 제어: 속도 제한으로 과부하를 방지함.
- 버전 관리: API 버전 라우팅을 유연하게 처리함.
- 모니터링 통합: API 사용 현황을 한곳에서 관측함.

