Docker | Container Proxy.

🛟 Dive.·2024년 9월 3일
0
post-thumbnail

Container 서비스를 위한 docker network 관리.

Proxy.

  • 요청자와 응답자 간의 중계역할. 즉, 통신을 대리 수행하는 서버를 proxy server라고 함.
  • Proxy server의 위치에 따라 forward proxy, reverse proxy로 구분.

forward Proxy.

Reverse Proxy.

nginx

  • 기본 구성 값으로 "웹 서버"를 실행함. 동일 계열 점유율이 높음.
  • 추가 구성으로 "Reverse Proxy"구현이 가능.
  • kubenetes의 ingress controller로 "nginx ingress controller" 선택 가능.
  • API 트래픽 처리를 고급 HTTP 처리 기능으로 사용 가능한 "API Gateway" 구성이 가능.
  • MSA 트래픽 처리를 위한 MicroGateway로 사용 가능.
  • 설정은 (linux기준) /etc/nginx 하위에 nginx.conf 변경을 통해 구성.

nginx reverse Proxy

  • 클라이언트 요청이 80 포트로 들어오면 준비해둔 애플리케이션 서버의 주소로 각 서버로 트래픽을 분배.

  • 기본 분배 방식(LoadBalancing)은 round-robin 방식으로 처리.

  • 요청이 적은 서버로 분배하는 least_conn 방식.

  • IP당 서버를 분배하는 ip_hash 등 여러가지 부하 분산 알고리즘을 사용할 수 있음.

HAproxy

  • 하드웨어 기반의 L4/L7 스위치를 대체하기 위한 오픈 소스 소프트웨어 솔루션.
  • TCP 및 HTTP 기반 애플리케이션을 위한 고가용성, load-balancing 및 프록시 기능을 제공하는 매우 빠르고 안정적인 무료 Reverse Proxy다.
  • 주요 기능.
    1) SSL 지원
    2) Load Balancing
    3) Active health check
    4) KeepAlived (proxy 이중화)

HAproxy, L4

  • OSI 7 계층 중 layer 4 IP를 이용한 트래픽 전달이 특징.
  • Haproxy L4 구성 시, IP와 Port를 기반으로 사용자 요청 트래픽을 전달하도록 구성
  • 요청에 대한 처리는 웹서버로 구성된 web1~3에 round-robin방식으로 부하 분산 됨.

HAproxy, L7

  • OSI 7 계층 중 Layer 은 HTTP 기반의 URI를 이용한 트래픽 전달이 특징.
  • 동일한 도메인의 하위에 존재하는 여러 웹 애플리케이션 서버를 사용할 수 있음.
  • example.com/item or example.com/basket 으로 연결
  • 사용자의 요청과 설정에 따른 부하 분산.
profile
Data Science. DevOps.

0개의 댓글