LVS와 HAProxy 중 어떤 것을 선택해야합니까?


21

주로 큰 웹 응용 프로그램을위한로드 균형 조정 및 장애 조치 전략에 대한 솔루션을 찾고 있습니다. 웹, MySQL 및 기타 많은 HTTP 또는 TCP 기반 서비스와 같이 균형 잡힌 서비스가 많이 있습니다. 그러나 나는 그들의 장단점이 무엇인지, 그리고 무엇을 선택해야하는지 잘 모르겠습니다.

답변:


24

두 솔루션 (LVS, HAproxy)을 차별화하는 가장 중요한 것은 하나는 레이어 4 (LVS)에서 작동하고 다른 하나는 레이어 7 (HAproxy)에서 작동한다는 것입니다. 계층 참조는 OSI 네트워킹 모델에서 가져온 것입니다.

이것을 이해하면 올바른 장소에서 사용할 수 있습니다. 예를 들어, 연결 수만 기준으로 균형을 조정해야하는 경우 계층 4로드 밸런서로 충분합니다. 반면에 HTTP 응답 시간을 기반으로로드 밸런서를 실행하려면 상위 계층 종류의 LB가 필요합니다.

더 높은 수준의 LB를 사용하는 단점은 필요한 리소스 (동일한 양의 트래픽)입니다. "패킷 레벨 검사", "프로토콜 라우팅"등을 생각하면 간단한 "패킷 라우팅"보다 훨씬 더 복잡한 것들이 있습니다.

마지막으로하고 싶은 것은 HAproxy가 사용자 공간 ( "사용자 정의 / 조정이 훨씬 더 쉽다"고 생각하지만 속도는 느리다)이지만 LVS는 커널 공간에있다 ( "지옥처럼 빠르다"고 생각하지만 커널만큼 견고하다. ). 또한 "LVS를 업그레이드하면 커널 변경-ergo, reboot"를 의미 할 수 있습니다.

결론적으로 올바른 작업에 적합한 도구를 사용하십시오.


나는 실제로 구현되지 않았지만 사람들이 여전히 OSI 계층을 사용하는 방법을 좋아합니다.
kubanczyk

9

HAProxy는 훌륭한로드 밸런서이고 LVS는 장애 조치를위한 솔루션이며 단일 장애 지점을 피합니다.


1
+1, HAProxy를 제외하고는 주로 HTTP 사용을위한 것입니다. 그렇지 않으면 문제가 될 수있는 요청의 소스 IP를 숨 깁니다 (예
:

3
순수한 TCP 서버에 HAProxy를 사용하고 있으며 잘 작동합니다. 숨겨진 소스 Ip는 모든로드 밸런서에 문제가 있습니다.
lg.

2
숨겨진 소스 IP가로드 밸런서를 SMTP 서비스에 자주 사용하지 않는 이유 중 하나라고 생각합니다.
Stefan Lasiewski

3
lvs와 ha proxy도 같은 작업을 수행합니다. 커널에서 실행되기 때문에 LVS가 더 빠릅니다.
Diego Woitasen

1
@AntoineBenkemoun 투명 모드의 HAProxy를 사용하여 클라이언트 IP를 표시 할 수 있습니다.
Thomas Decaux
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.