프로그래밍 이론/시스템 디자인 설계

로드 밸런싱 _ Load Balancer

minquu 2025. 7. 12. 14:19
반응형

로드 밸런싱과 API 게이트웨이 – 분산 시스템의 핵심 컴포넌트

🧭 개요

분산 시스템에서 트래픽 분산API 요청 관리는 시스템의 성능과 안정성을 좌우하는 중요한 요소입니다.
이 역할을 담당하는 두 핵심 컴포넌트는 Load BalancerAPI Gateway입니다.


⚖️ Load Balancer vs API Gateway

기능 Load Balancer API Gateway
역할 트래픽 분산, 서버 부하 분산 API 요청 라우팅, 인증, 정책 처리
계층 L4 (TCP/UDP), L7 (HTTP/HTTPS) 애플리케이션 계층 (L7)
주요 기능 헬스 체크, 부하 분산, 세션 유지 인증, 트래픽 제한, 데이터 변환
사용 목적 시스템 가용성 유지, 부하 최적화 클라이언트 요청 처리 및 보안 관리

🧱 Load Balancer 상세

주요 목적

  • 서버 과부하 방지
  • 성능 최적화
  • 트래픽 균형 유지
  • Auto Scaling 연계

알고리즘 종류

알고리즘 설명 적합한 경우
Round Robin 순차적으로 요청 분배 서버 성능이 균일할 때
Least Connections 연결 수가 가장 적은 서버로 분배 연결 유지 시간에 차이가 있을 때
IP Hash 클라이언트 IP로 서버 결정 상태 유지가 필요한 경우
Weighted Round Robin 서버 성능에 따른 가중치 분배 서버 성능 차이가 클 때

L4 vs L7 비교

구분 L4 Load Balancer L7 Load Balancer
계층 TCP, UDP HTTP, HTTPS
기준 IP, 포트 URL, 쿠키, 헤더 등
성능 빠름 상대적으로 느림
사용 예 AWS NLB, HAProxy AWS ALB, Nginx (reverse proxy)

🚪 API Gateway 상세

주요 기능

  • 인증(Authentication) 및 인가(Authorization)
  • Rate Limiting (요청 속도 제한)
  • 로깅 및 모니터링
  • 데이터 변환 (예: Enum → String)
  • 캐싱 (자주 조회되는 API 응답)
  • DDoS 방어 및 보안 정책 적용

예: API 요청 시 JWT 토큰으로 인증 → 권한 확인 → 백엔드로 전달


🔁 통합 아키텍처 흐름

클라이언트

API Gateway

Load Balancer

Back-End Services

GateWay는 인증/제한/보안/정책 처리, LoadBalancer는 실제 서버 분산 담당


🛠️ 실제 사례

🔸 AWS 기반

  • API GatewayApplication Load Balancer (ALB)ECS / Lambda
  • CloudWatch로 로깅 및 경보 설정

🔸 Netflix 아키텍처

  • Zuul → Ribbon → Hystrix (현재는 Spring Cloud Gateway로 전환)
  • Client-side LB + Service Registry (Eureka)

✅ 결론

  • Load Balancer는 물리적 트래픽 분산
  • API Gateway는 논리적 요청 정책 관리
  • 둘을 통합하면 시스템은 더욱 견고해지고 유연한 구조를 가질 수 있음

대규모 서비스를 구축하려면 두 컴포넌트를 함께 고려한 아키텍처 설계가 필요합니다.

반응형