마이크로서비스 아키텍처에서 중요한 역할을 하는 서버로,
클라이언트 요청을 적절한 서비스로 라우팅하고 다양한 부가 기능을 제공하는 중간 계층이다.
API Gateway는 마이크로서비스 간의 복잡한 상호작용을 간소화하고 보안, 로깅, 모니터링 등의 기능을 중앙에서 관리할 수 있도록 도와준다.
주요 기능
- 요청 라우팅(Request Routing):
- 클라이언트의 요청을 적절한 마이크로서비스로 라우팅합니다.
- URL 경로나 메소드에 따라 요청을 다른 서비스로 전달할 수 있습니다.
- 인증 및 인가(Authentication and Authorization):
- API 요청에 대한 인증 및 인가를 처리하여 보안을 강화합니다.
- JWT, OAuth, API 키 등을 활용하여 인증 및 인가를 관리합니다.
- 로드밸런싱(Load Balancing):
- API Gateway는 여러 인스턴스에 트래픽을 분산시켜 부하를 균등하게 나눕니다.
- 이는 서비스의 고가용성과 성능을 보장합니다.
- 데이터 변환(Data Transformation):
- 요청 또는 응답 데이터를 변환하거나 조작할 수 있습니다.
- 예를 들어, 요청의 형식을 변경하거나 응답에서 불필요한 데이터를 제거할 수 있습니다.
- API 조합(API Composition):
- 여러 마이크로서비스의 응답을 조합하여 하나의 응답으로 반환할 수 있습니다.
- 이는 클라이언트의 요청 수를 줄이고 성능을 향상시킵니다.
- 모니터링 및 로깅(Monitoring and Logging):
- API 호출에 대한 로그를 기록하고 모니터링하여 문제를 추적하고 성능을 분석할 수 있습니다.
- 이는 장애를 신속하게 파악하고 대응하는 데 도움이 됩니다.
- 속도 제한 및 스로틀링(Rate Limiting and Throttling):
- API 요청에 대한 속도 제한을 설정하여 특정 사용자가 과도한 요청을 보내지 못하도록 합니다.
- 이는 서비스의 안정성을 유지하는 데 중요합니다.
- 캐싱(Caching):
- 자주 요청되는 데이터를 캐시하여 응답 속도를 높일 수 있습니다.
- 이는 서버 부하를 줄이고 응답 시간을 단축시킵니다.
주요 API Gateway 솔루션
- Amazon API Gateway:
- AWS에서 제공하는 완전 관리형 서비스로, RESTful API 및 WebSocket API를 지원합니다.
- 서버리스 방식으로 운영되며, 다양한 AWS 서비스와 통합이 용이합니다.
- Kong:
- 오픈 소스 API Gateway로, 플러그인 시스템을 통해 기능을 확장할 수 있습니다.
- 높은 성능과 확장성을 제공합니다.
- Apigee:
- Google Cloud에서 제공하는 API 관리 플랫폼으로, 보안, 분석, 개발자 포털 등을 포함합니다.
- 기업 수준의 API 관리를 지원합니다.
- Nginx:
- 고성능 HTTP 서버로 잘 알려져 있으며, API Gateway로도 사용될 수 있습니다.
- 로드밸런싱, 캐싱, 보안 기능을 제공합니다.
요약
API Gateway는 마이크로서비스 아키텍처에서 클라이언트 요청을 적절한 서비스로 라우팅하고, 인증, 로깅, 모니터링, 데이터 변환, API 조합 등의 다양한 부가 기능을 제공하는 중간 계층입니다. 이를 통해 서비스의 복잡성을 줄이고, 보안과 성능을 향상시킬 수 있습니다.
'네이버 클라우드 캠프' 카테고리의 다른 글
VPC Subnet ACL ACG (0) | 2024.06.14 |
---|---|
로드 밸런서 구성 (0) | 2024.06.13 |
CSRF & 세션 관리 (0) | 2024.06.04 |
시큐리티_UserDetailServiceImpl (0) | 2024.06.03 |
Spring Data REST (0) | 2024.06.03 |