Nginx

反向代理模式下 HAProxy 和 Ngnix 有什麼區別?

  • May 1, 2019

HAProxy 和 Nginx 作為反向代理的能力有什麼區別?

2019年更新:

它們都是穩定和成熟的產品。HAProxy 專門用於負載平衡並且在這方面做得更好,而 nginx 是一個可以充當負載平衡器的網路伺服器。

兩個都:

  • HTTPS 支持
  • Websocket 支持
  • 穩定、成熟、高效的產品
  • 可以處理 10k 連接,只需最少或無需調整

HAProxy:

  • TCP、TCP-SSL、HTTP 和 HTTPS 負載平衡
  • 在執行狀況檢查和故障轉移條件方面更加靈活
  • 基本記憶體(v1.8 - 2017)
  • 可自定義日誌格式,將訪問日誌導入kibana/splunk/graylog
  • 詳細狀態頁面,查看活動請求和伺服器狀態
  • 可導出的指標,與監控解決方案(graphite/prometheus/datadog)集成
  • 更注重高性能。更好地指示處理 100k 連接或 40 GbE 介面。

Nginx:

  • HTTP 和 HTTPS 負載平衡(付費版中的 TCP - UDP)
  • 記憶體更靈活
  • 可自定義日誌格式,將訪問日誌導入kibana/splunk/graylog
  • 無狀態頁面(僅限付費版)
  • 沒有可導出的指標(僅限付費版)
  • 可以提供本地文件
  • 可以服務於 FastCGI 應用程序(不是 CGI)

HAProxy 是一款免費軟體,完全開源。他們通過銷售預裝了 HAProxy 的硬體設備來賺錢。

Nginx 是開放核心的,許多功能僅在付費版中可用。值得注意的是,它缺少一個狀態頁面和監控指標,這對於執行負載均衡器來說是一個很大的禁忌。

引用自:https://serverfault.com/questions/229945