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

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



답변

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

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

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

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

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


답변

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


답변