본문 바로가기
IT Knowledge/HAProxy

HAProxy, 오픈소스 로드 밸런서

by Seok. 2020. 12. 10.
반응형

HAProxy : 여러 서버에 요청을 분산시키는 TCP HTTP 기반 응용 프로그램

주요기능 : 소프트웨어 로드밸런서

               (네트워크 스위치에서 제공하는 L4, L7 기능 로드 밸런서 기능을 제공)

라이선스 형태 : GPL Version 2 (오픈소스)

운영체제 : Linux, Solaris, FreeBSD, AIX

 

특징 :

  • 설치가 쉽다.
  • Reverse Proxy 형태로 동작
  • SSL 지원
  • 서비스 이중화 처리 가능
  • L4, L7 로드밸런싱 기능 지원
로드 밸런싱?
부하 분산을 위해서 가상IP 통해 여러 서버에 접속하도록 분배하는 기능.


로드 밸런서 동작방식
 - Bridge/Transparent Mode
 - Router Mode
 - One Arm Mode
 - DSR(Direct Server Return) Mode

HAProxy 다운로드 링크 : http://www.haproxy.org/#down

HAProxy Blog : https://www.haproxy.com/blog/introduction-to-haproxy-logging/

 

[기능소개]

  • Proxying
  • SSL
  • 모니터링
  • 고가용성(HA)
  • 로드밸런싱(Load Balancing)
  • 로깅(Logging)

HAProxy 기본동작(Reverse Proxy)

  • 기본적으로 Reverse Proxy 동작.
  • 서버로 들어오는 요청을 대신 받아서 서버에 전달하고 요청한 곳에 결과를 다시 전달하는 .
  • 서버포트는 수신 포트와 관련되지 않아도 되며, 고정된 오프셋으로 변환 가능

 

HAProxy SSL

  • 와일드카드 인증서 지원하므로, 여러 인증서 필요성 줄어듬
  • OCSP 스테이플링은 User 인증서 상태 요청을 할때, OCSP응답을 직접 전달하여 페이지 로드 시간

 

HAProxy 모니터링

  • 서버별 상태를 지속적으로 모니터링할 있다.
  • 서버 부하 or 상태를 모니터링 하기 위해 Agent 서버에 배포할 있다.
  • 모니터링을 보고 트래픽의 크기 or 상태에 따라서 다른 서버등으로 트래픽을 전송 있도록 라우팅 결정을 내리는데 필요하다.

 

HAProxy 고가용성(HA)

  • 활성 서버가 다운되면, 백업서버가 자동으로 사용되고 가능한 세션손실되지 않도록 대체(연결끊어지는 시간 1~5)
  • 연결에 영향을 미치지 않고 팜에서 서버를 off or 꺼낼 있도록 지원
  • 표준 VRRP데몬 keepalived 통합됨

 

HAProxy 로드밸런싱(Load Balancing)

  • L4 로드밸런싱 : IP범위 포트를 기반으로 사용자 트래픽을 전달(IP, Port…)
  • L7 로드밸런싱 : 사용자 요청 내용에 따라 다른 백엔드 서버로 요청을 전달( /, /blog…)
  • 9 이상의 로드밸런싱 알고리즘 지원(라운드로빈, Lestconn, Source, URI 등…)
  • 서버별 가중치를 지원하므로 서로 다른 서버로 트래픽을 일부만 특정서버로 전송 가능

 

HAProxy Logging

  • 정확한 연결 승인 시간을 포함한 매우 자세한 로그를 제공한다.
  • 속성 : 원본IP, 포트, 프론트 엔트, 백엔드, 서버, 타이머, 기간, 대기열지속시간, 응답시간, 타이머, 연결수, 재시도 횟수등 헤더를 가짐.

HAProxy Blog


2022.01.24 - [IT Knowledge/HAProxy] - HAProxy Install(디렉토리 지정 설치)

 

HAProxy Install(디렉토리 지정 설치)

회사에서 Load Balance가 필요할때, 유료 로드밸런스를 구매해서 사용하기도 하지만, 돈이 없거나 잠시 사용 or 테스트 용으로 사용할때 무료로 사용하는 용도로 HAProxy를 자주 구성하여 활용합니다.

lifeplan-b.tistory.com

 

반응형

댓글