API Gateway vs Load Balancer | System Design
- API Gateway는 시스템에 대한 단일 진입점으로, 클라이언트 요청을 적절한 백엔드 서비스로 라우팅하며, 인증, 로우 레밍, 모니터링, 캐시와 같은 추가 기능을 처리합니다. 👮♀️
- API Gateway는 클라이언트 API 상호 작용을 간소화하고 중앙 집중된 보안을 가능하게 하여 서비스별로 보안을 구현할 필요를 줄입니다. 🔐
- 로우트 벨런서란 네트워크 또는 응용 프로그램 트래픽을 여러 서버로 분산하여 응용 프로그램의 반응성과 서비스의 사용 가능성을 향상시키는 장치 또는 소프트웨어입니다. 🔗
- 네트워크 기반 로우트 벨런서는 네트워크 간 상호 작용에 중점을 두며 TCP/UDP 포트를 기반으로 트래픽을 라우팅합니다. 🔌
- 응용 프로그램 기반 로우트 벨런서는 요청 헤더, 쿠키 또는 URL과 같은 응용 프로그램 데이터를 기반으로 트래픽을 라우팅하여 특정 콘텐츠에 따라 요청을 분배합니다. 🖥️
- DNS 기반 로우트 벨런서는 DNS 레지스트리를 사용하여 트래픽을 지정된 지역 또는 데이터 센터로 라우팅하여 사용자 위치 또는 서버 상태를 감안합니다. 🌏
- Netflix는 Zuul API Gateway와 Ribbon 클라이언트 측 로우트 벨런서를 사용하여 높은 확장성과 사용 가능성을 달성합니다. 🔩