리버스 프록시 모드에서 HAProxy와 Ngnix의 차이점은 무엇입니까?


답변:


5

2019 년 업데이트 :

그들은 안정적이고 성숙한 제품입니다. HAProxy는로드 밸런싱 전용이며 nginx는로드 밸런서 역할을 할 수있는 웹 서버입니다.

양자 모두:

  • HTTPS 지원
  • 웹 소켓 지원
  • 안정적이고 성숙하며 매우 효율적인 제품
  • 튜닝을 최소화하거나 최소화하면서 10k 연결 처리 가능

HAProxy :

  • TCP, TCP-SSL, HTTP 및 HTTPS로드 밸런싱
  • 상태 확인 및 장애 조치 조건에 대한 유연성 향상
  • 기본 캐싱 (v1.8-2017)
  • 액세스 로그를 kibana / splunk / graylog로 가져 오기위한 사용자 정의 가능한 로그 형식
  • 활성 요청 및 서버 상태를 볼 수있는 자세한 상태 페이지
  • 모니터링 솔루션 (graphite / prometheus / datadog)과 통합하기 위해 내보낼 수있는 메트릭
  • 보다 고성능 지향. 100k 연결 또는 40GbE 인터페이스를 처리하는 것이 좋습니다.

Nginx :

  • HTTP 및 HTTPS로드 밸런싱 (TCP-유료 에디션의 UDP)
  • 캐싱에 대한 유연성 향상
  • 액세스 로그를 kibana / splunk / graylog로 가져 오기위한 사용자 정의 가능한 로그 형식
  • 상태 페이지가 없음 (유료 버전 만 해당)
  • 내보낼 수있는 측정 항목이 없습니다 (유료 에디션 만 해당)
  • 로컬 파일을 제공 할 수 있습니다
  • FastCGI 응용 프로그램 제공 (CGI 아님)

HAProxy는 무료 소프트웨어이며 완전히 공개 된 소스입니다. HAProxy가 사전 설치된 하드웨어 어플라이언스를 판매하여 수익을 창출합니다.

Nginx는 공개 코어이며 많은 기능이 유료 버전에서만 제공됩니다. 특히 로드 밸런서를 작동하는 데 NO NO 인 상태 페이지 및 모니터링 지표 가 부족 합니다 .


42

HAProxy는 실제로로드 밸런서 / 역 프록시입니다. Nginx는 리버스 프록시로 작동 할 수있는 웹 서버입니다.

몇 가지 차이점이 있습니다.

HAProxy :

  • TCP 및 HTTP 프록시 (1.5-dev12에서 추가 된 SSL)
  • 더 많은 속도 제한 옵션
  • 저자는 여기에서 서버 결함에 대한 질문에 답변합니다 ;-)

Nginx :

  • SSL을 직접 지원
  • 캐싱 서버이기도합니다

스택 오버플로에서는 주로 SSL 오프로드를 위해 nginx와 함께 HAProxy를 사용하므로 HAProxy를 권장합니다.


11

nginx를 사용하여 HAProxy를 프론트 엔드하지만 SSL 종료에만 사용합니다.

HAProxy는 훨씬 더 조정 가능하고 관리 가능한로드 밸런서입니다 (제 경험상).

정적 개체 캐싱을 위해 니스를 통합했습니다. (HAProxy의 특정 백엔드로)

자세한 정보는이 서버 결함 질문을 참조하십시오. nginx / varnish / haproxy 주문


3
최신 (2012 년 9 월) 불안정한 HAProxy 빌드는 SSL을 지원합니다. (잠재적으로 nginx를 실행할 필요성을 제거함)
Joel K

5

로드 밸런싱에만 필요한 경우 HA 프록시가 더 좋습니다. 그러나 nginix가 정적 컨텐츠를 빠르게 제공하므로 정적 데이터에 대한 모든 요청을 처리 한 다음로드 밸런서 역할을하는 HA 프록시에 모든 요청을 보내고 웹 서버에 요청을 전송하여 nginix와 HA 프록시를 결합하는 것이 더 유용 할 수 있습니다. 로드 밸런싱을 통한 요청.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.