HAProxy
1. 개요
HAProxy는 2000년 윌리 타로에 의해 개발된 오픈 소스 로드 밸런서이다. 계층 4 및 계층 7 로드 밸런싱, URL 재작성, 요율 제한 등 다양한 기능을 제공하며, HAProxy Technologies, LLC에서 상용 버전인 HAProxy Enterprise와 ALOHA 어플라이언스를 제공한다.
이미지 준비중입니다.
| 이름 | HAProxy |
|---|
| 저자 | Willy Tarreau |
|---|---|
| 개발자 | Willy Tarreau |
| 최신 평가판 버전 | 2.9-dev2 |
| 프로그래밍 언어 | C |
| 운영체제 | 리눅스 FreeBSD OpenBSD 솔라리스 (8/9/10) AIX (5.1–5.3) macOS Cygwin |
| 라이선스 | GNU 일반 공중 사용 허가서 버전 2 |
| 웹사이트 | HAProxy 공식 웹사이트 |
|---|
-
유닉스 네트워크 관련 소프트웨어 -
Rlogin
rlogin은 네트워크를 통해 다른 서버에 로그인하는 응용 계층 프로토콜이자 명령어로, 보안 취약성으로 인해 SSH로 대체되고 있다. -
유닉스 네트워크 관련 소프트웨어 -
아파치 HTTP 서버
아파치 HTTP 서버는 아파치 소프트웨어 재단에서 관리하는 오픈 소스 웹 서버 소프트웨어로, 다양한 운영체제 지원, 모듈을 통한 기능 확장, 가상 호스팅 등의 기능을 제공하며 전 세계적으로 널리 사용된다. -
자유 웹 서버 소프트웨어 -
Nginx
Nginx는 이고르 시소예프가 개발한 웹 서버 소프트웨어로, 높은 성능과 안정성을 바탕으로 웹 서버, 리버스 프록시, 로드 밸런서 등으로 활용되며 대규모 트래픽 처리에 강점을 보이지만, F5 Networks 인수 후 포크 프로젝트가 등장하기도 했다. -
자유 웹 서버 소프트웨어 -
아파치 HTTP 서버
아파치 HTTP 서버는 아파치 소프트웨어 재단에서 관리하는 오픈 소스 웹 서버 소프트웨어로, 다양한 운영체제 지원, 모듈을 통한 기능 확장, 가상 호스팅 등의 기능을 제공하며 전 세계적으로 널리 사용된다. -
C로 작성된 자유 소프트웨어 -
PostgreSQL
PostgreSQL은 캘리포니아 대학교 버클리 분교의 Ingres 프로젝트에서 시작되어 전 세계 개발자들의 협력을 통해 발전해온 객체 관계형 데이터베이스 관리 시스템(ORDBMS)이다. -
C로 작성된 자유 소프트웨어 -
김프
김프(GIMP)는 GNU 프로젝트에서 개발된 크로스 플랫폼 기반의 무료 오픈소스 래스터 그래픽 편집기로, 다양한 운영체제를 지원하며 풍부한 기능을 제공하지만 사용자 인터페이스에 대한 비판과 일부 기능의 부족함에 대한 평가도 존재한다.
2. 역사
HAProxy는 2000년에 리눅스 커널의 핵심 기여자였던 윌리 타로(Willy Tarreau)가 개발했으며, 그는 현재까지도 이 프로젝트를 유지하고 있다.
2013년에는 HAProxy Technologies, LLC라는 회사가 설립되었다. 이 회사는 HAProxy Enterprise와 ALOHA라는 어플라이언스 기반 애플리케이션 딜리버리 컨트롤러 상용 제품을 제공한다.
2.1. 개발 배경 (한국의 관점)
2000년대 초반, 한국은 빠른 인터넷 속도와 높은 온라인 서비스 이용률로 인해 웹 서버의 부하 분산 및 고가용성 확보가 중요한 문제로 떠올랐다. 이러한 시대적 요구에 부응하여, 2000년에 리눅스 커널 기여자였던 Willy Tarreau가 HAProxy를 개발하였다. 그는 현재도 프로젝트를 유지하고 있다.
2013년에는 소프트웨어 개발과 오픈 소스 커뮤니티의 기여를 지속하기 위해 HAProxy Technologies, LLC라는 회사가 설립되었다. 이 회사는 상용 HAProxy Enterprise와 ALOHA라는 이름의 Application delivery controller를 제공하며, 기술 지원과 HAProxy의 기능을 확장하는 추가 모듈도 제공한다.
3. 기능
* 계층 4 (TCP) 및 계층 7 (HTTP) 로드 밸런싱
* 다중 요소 스티키니스
* URL 재작성
* 요율 제한
* SSL/TLS TLS 종단 프록시
* Gzip 압축
* 캐싱
* PROXY 프로토콜 지원
* 스크립트 가능한 다중 계층 상태 확인
* 연결 및 HTTP 메시지 로깅
* HTTP/2 양쪽 지원
* HTTP/3 지원
* 웹 소켓 (RFC6455 및 RFC8441)
* UDP/TCP Syslog 로드 밸런싱 및 전달/변환 (RFC3164 및 RFC5424)
* 이벤트 기반 멀티스레드 아키텍처
* 무중단 재로딩
* gRPC 지원
* Lua (programming language)영어 및 SPOE 지원
* API 지원
* 계층 4/7 재시도
* 회로 차단 단순화
* 고급 디버깅 및 추적 기능
* 통계 수집 및 DoS 완화를 위한 분산 스틱 테이블
4. HAProxy Community vs HAProxy Enterprise
HAProxy 엔터프라이즈 에디션은 HAProxy의 엔터프라이즈급 버전으로, 엔터프라이즈 부가 기능, 전문가 지원 및 전문 서비스를 포함한다. HAProxy 개발 브랜치에서 일부 기능이 백포트되었다.
5. ALOHA
HAProxy Technologies의 ALOHA는 모든 환경에서 배포할 수 있는 플러그 앤 플레이 로드 밸런싱 어플라이언스이다. ALOHA는 어플라이언스를 배포하고 구성하는 데 사용할 수 있는 그래픽 사용자 인터페이스와 템플릿 시스템을 제공한다.
6. 버전
| 버전 | 출시일 | 지원 종료일 |
|---|---|---|
| 1.0 | 2001년 12월 16일 | 2001년 12월 30일 |
| 1.1 | 2002년 3월 10일 | 2006년 1월 29일 |
| 1.2 | 2003년 11월 9일 | 2011년 8월 6일 |
| 1.3 | 2006년 6월 29일 | 2016년 3월 14일 |
| 1.4 | 2010년 2월 26일 | 2018년 2월 8일 |
| 1.5 | 2014년 6월 19일 | 2020년 1월 10일 |
| 1.6 | 2015년 10월 13일 | 2020년 4분기 |
| 1.7 | 2016년 11월 25일 | 2021년 4분기 |
| 1.8 | 2017년 11월 26일 | 2022년 4분기 |
| 1.9 | 2018년 12월 19일 | 2020년 2분기 |
| 2.0 | 2019년 6월 16일 | 2024년 2분기 |
| 2.1 | 2019년 11월 25일 | 2021년 1분기 |
| 2.2 LTS | 2020년 7월 7일 | 2025년 2분기 (중요 수정 사항만 해당) |
| 2.3 | 2020년 11월 5일 | 2022년 1분기 |
| 2.4 LTS | 2021년 5월 14일 | 2026년 2분기 (중요 수정 사항만 해당) |
| 2.5 | 2021년 11월 23일 | 2023년 1분기 |
| 2.6 LTS | 2022년 5월 31일 | 2027년 2분기 |
| 2.7 | 2022년 12월 1일 | 2024년 1분기 |
| 2.8 LTS | 2023년 5월 31일 | 2028년 2분기 |
| 2.9 | 2023년 12월 5일 | 2025년 1분기 |
| 3.0 LTS | 2024년 5월 29일 | 2029년 2분기 |