[서비스 개요]
- API Gateway는 다양한 백엔드 시스템으로 향하는 API 요청을 통합하고 관리하는 중개자 역할을 수행하는 서비스임.
- API 서비스의 앞단에서 모든 API 서비스의 단일 진입점을 제공하고 유입되는 서비스 트래픽을 제어하는 기능을 담당하는 미들웨어 기능을 수행함
- API에 대한 인증과 인가 기능을 가지고 있으며, 통신 메세지의 내용에 따라 애플리케이션 내부에 있는 개별 서비스로 연계하는 역할을 담당함.
- 서비스 진입 시의 인증/인가 기능 외에도 트래픽 제어 및 차단, 부하분산, 모니터링 등 API 서비스를 안정적이고 효율적으로 운영하기 위한 다양한 관리 기능을 제공함.
[ 서비스 특장점]
1. 단일 진입점 제공:
- 복잡한 시스템에서 클라이언트는 하나의 서비스 진입점(End-Point)만 알면 되므로 개발 및 유지보수가 간편해짐.
- 내부에 위치한 각 서비스의 URL과 상세 정보를 노출할 필요가 없어 보안성이 향상됨.
2. API 서비스 요청 라우팅:
- 유입되는 서비스 요청을 적절한 백엔드 서비스로 자동으로 라우팅하여 처리함.
- 서비스 간의 의존성을 줄이고 확장성을 높임.
3. API 관리:
- API 버전 관리, 속도 제한, 인증/권한 부여 등 API와 관련된 다양한 기능을 중앙 집중적으로 관리할 수 있음.
- API 사용량 모니터링 및 분석을 통해 시스템 성능을 개선하고 문제를 조기에 파악할 수 있음.
4. 보안 강화:
- API에 대한 인증, 권한 부여, 암호화 등을 통해 보안을 강화하고, DDoS 공격 등으로부터 시스템을 보호함.
5. API 개발 생산성 향상:
- API를 공통 기능으로 추출하여 재사용 가능하게 구성함으로써 개발 생산성을 높이고 API 중복 개발이나 코드가 중복적으로 적용되는 것을 줄일 수 있음.
- API 서비스를 위한 전문 규격을 자동으로 생성하고 문서화하여 제공함으로써 개발자 간의 협업을 원활하게 함.