본문 바로가기

개발/etc

HAProxy 정의/구성/동작

반응형

 

정의
여러 서버에 요청을 분산시키는 TCP 및 HTTP 기반 애플리케이션을 위한 고가용성 로드 밸런서 및 프록시 서버를 제공하는 무료 오픈소스 소프트웨어이다.
로드밸런싱 (Load Balancing) 이란?

부하 분산을 위해서 가상 ip를 통해 여러 대의 서버에 접속을 분배하는 기능
서버는 클라이언트의 요청이 많아지게되면 서버에는 부하가 걸리게 된다. 이를 해결하기 위한 방법은 크게 두가지가 있다.
1. Scale-up : 서버 사양을 높임
2. Scale-out : 부하를 여러 대의 서버에 분산함

즉, HAProxy는 Scale-out을 위해 로드밸런싱을 해주는 소프트웨어이다.

 

 

구성

 

https://1995-dev.tistory.com/99

L4 Switch, L7 Switch가 제공하는 로드 밸런싱 기능을 제공.
HAProxy는 오픈 소스로 소프트웨어 로드밸런싱을 기능을 제공.
HAProxy 설정 추가를 통해 Scale-Out 도 가능.
HAProxy VRRP (Virtual Router Redundancy Protocol) 지원.
이중화(M / S) Master 장애 시 Slave가 Master VIP (Virtual IP)를 가져와 Master로 승격됨.
반응형
동작

https://1995-dev.tistory.com/99

1. 최초 접근 시 서버에 요청 전달
2. 응답 시 쿠키(Cookie)에 서버 정보 추가 후 반환
3. 재 요청 시 Proxy에서 쿠키 정보 확인 후 최초 요청 서버로 전달
4. 다시 접근 시 쿠키를 추가할 필요 없이 서버에 전달 (클라이언트에 쿠키 정보가 계속 존재하여 재사용)

 

출처
  1. https://leffept.tistory.com/309
  2. https://en.wikipedia.org/wiki/HAProxy
  3. https://1995-dev.tistory.com/99
반응형