反向代理模式下HAProxy和Ngnix有什么区别?

Qui*_*Par 30 nginx reverse-proxy load-balancing haproxy

HAProxy 和 Nginx 在作为反向代理的能力方面有什么区别?

Kyl*_*ndt 46

HAProxy 实际上只是一个负载均衡器/反向代理。Nginx 是一个 Web 服务器,也可以用作反向代理。

以下是一些差异:

代理:

  • TCP 和 HTTP 代理一样吗(从 1.5-dev12 添加的 SSL)
  • 更多速率限制选项
  • 作者在此处回答有关服务器故障的问题;-)

nginx

  • 直接支持 SSL
  • 也是缓存服务器

在 Stack Overflow,我们主要使用 HAProxy 和 nginx 进行 SSL 卸载,因此我建议使用 HAProxy。


use*_*461 12

2019年更新:

它们都是稳定和成熟的产品。HAProxy 专用于负载平衡并且在这方面做得更好,而 nginx 是一个可以充当负载平衡器的网络服务器。

两个都:

  • HTTPS 支持
  • 网络套接字支持
  • 稳定、成熟、高效的产品
  • 只需最少或无需调整即可处理 10k 连接

代理:

  • 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 是开放核心,许多功能仅在付费版中可用。值得注意的是,它缺少状态页面和监控指标,这对于运行负载平衡器来说是一个很大的问题。


Joe*_*l K 11

我使用 nginx 来前端 HAProxy,但仅用于 SSL 终止。

HAProxy 是一个更加可调和可管理的负载均衡器(以我的经验)。

我还将 Varnish 用于静态对象缓存。(作为 HAProxy 的特定后端)

有关更多信息,请参阅此服务器故障问题。 订购 nginx/varnish/haproxy

  • HAProxy 的最新(2012 年 9 月)不稳定版本现在支持 SSL。(可能会消除我运行 nginx 的需要) (3认同)

小智 5

如果只需要负载均衡 HA 代理更好。但是将 nginx 和 HA 代理结合起来会更有用,因为 nginx 提供静态内容的速度很快,它将为所有静态数据请求提供服务,然后将所有请求发送到充当负载均衡器的 HA 代理,并将请求发送到 Web 服务器进行服务通过负载均衡请求。


归档时间:

查看次数:

32507 次

最近记录:

6 年,4 月 前