Skip to content

로드 밸런서와 API Gateway #12

Description

@yyubin

로드 밸런서(L4, L7)

  1. L4 로드 밸런서:
    • 전송 계층(TCP/UDP)에서 작동합니다.
    • 주로 TCP/UDP 연결을 기반으로 트래픽을 분산합니다.
    • 클라이언트와 서버 간의 연결 상태를 유지하거나 세션을 관리하지 않으며, 패킷 수준에서 작동합니다.
    • 예: AWS NLB(Network Load Balancer), HAProxy(L4 모드).
  2. L7 로드 밸런서:
    • 애플리케이션 계층(HTTP/HTTPS)에서 작동합니다.
    • HTTP 헤더, URI, 쿠키, 쿼리 파라미터 등 애플리케이션 데이터를 기반으로 라우팅이 가능합니다.
    • 더 복잡한 로드 밸런싱 정책과 인증, SSL 종료, 캐싱 등 부가 기능을 제공합니다.
    • 예: AWS ALB(Application Load Balancer), NGINX(L7 모드).

API Gateway(L7)

  • L7에서 동작하며, 로드 밸런서의 애플리케이션 계층 기능 외에도 다양한 API 관리 기능을 제공합니다.
  • 주로 HTTP/HTTPS 요청을 기반으로 작동하며, 추가적으로 아래와 같은 기능을 제공합니다:
    1. 인증/인가 (OAuth, JWT 등).
    2. 요청 라우팅 (서비스 또는 API 버전별 라우팅).
    3. 속도 제한 (Rate Limiting).
    4. 요청/응답 변환 (JSON/XML 변환, HTTP 메서드 변경 등).
    5. 모니터링 및 로깅.
    6. 캐싱.

비교: 로드 밸런서와 API Gateway

특징 L4 로드 밸런서 L7 로드 밸런서 API Gateway
작동 계층 전송 계층 (TCP/UDP) 애플리케이션 계층 (HTTP/HTTPS) 애플리케이션 계층 (HTTP/HTTPS)
기능 기본적인 트래픽 분배 HTTP/HTTPS 기반 트래픽 분배 API 관리, 인증, 라우팅, 속도 제한 등
로드 밸런싱 기준 IP/포트 등 연결 정보 HTTP 헤더, URL, 쿼리 파라미터 등 경로, 버전, 정책, 헤더 등
추가 기능 제한적 (세션 지속성 정도 가능) SSL 종료, 쿠키 기반 세션 관리 인증/인가, 캐싱, 로깅 등 API 관리

결론

  • 로드 밸런서:
    • 네트워크 계층(L4) 또는 애플리케이션 계층(L7)에서 작동.
    • 주로 트래픽 분산이 주 목적.
    • L4는 단순 패킷 기반, L7은 HTTP/HTTPS 기반 세부 분배 가능.
  • API Gateway:
    • L7에서 작동하며, 로드 밸런싱 외에 API 관리 기능 제공.
    • API 호출 관점에서의 부가적인 기능(인증, 속도 제한, 모니터링 등)을 처리.

따라서, 로드 밸런서는 트래픽 분산이 주요 목적이고, API Gateway는 API 관리 및 트래픽 분배를 포함한 고급 기능 제공이라고 생각하면 됩니다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Document

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions