Docker Network 관리: Proxy Server 가이드
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 으로 연결
- 사용자의 요청과 설정에 따른 부하 분산


댓글 남기기