Nginx
反向代理模式下 HAProxy 和 Ngnix 有什麼區別?
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 是開放核心的,許多功能僅在付費版中可用。值得注意的是,它缺少一個狀態頁面和監控指標,這對於執行負載均衡器來說是一個很大的禁忌。