HAProxy

可靠、高性能的TCP/HTTP负载平衡器。(The Reliable, High Performance TCP/HTTP Load Balancer.)

Github星跟蹤圖

HAProxy是一种免费的、非常快速和可靠的解决方案,为基于TCP和HTTP的应用程序提供高可用性、负载平衡和代理。 它特别适用于非常高流量的网站,并且拥有世界上最受欢迎的网站用户。 多年来,它已经成为开源负载平衡器事实上的标准,现在已经与大多数主流的Linux发行版一起发布,并且经常在云平台中部署。 既然它不做广告,我们只知道管理员报告时使用它:-)

主要特点
每个版本都将其功能集放在前一个版本之上。向上兼容性是HAProxy的一个非常重要的方面,甚至1.5版本可以运行13年前版本1.0的配置。1.6版放弃了一些长期使用的关键字,并提出了替代方案。每个版本的最不同的功能如下:
  • 版本1.5,2014年发布本版本进一步扩展了1.4,经过4年的努力:两侧SNI/NPN/ALPN和OCSP stapling的原生SSL支持,全面支持IPv6和UNIX套接字,full HTTP keep-alive 以获得对 NTLM 更好的支持,并且提高静态场的效率,HTTP/1.1压缩(deflate,gzip)来节省带宽,在两侧支持PROXY协议版本1和2,对请求或响应中的所有内容(包括有效载荷)的数据采样,ACLs可以使用任何匹配的方法任何输入样本图,并且动态ACL可以更新自支持计数器的 CLI stick-tables,以跟踪任何输入样例定制格式的日志、独特的id、头重写和重定向,改进的健康检查(SSL、脚本化的TCP、检查代理等等),更多的可扩展配置轻松支持数十万个后台和证书。
  • 版本1.4,在2010年发布的这一版本中,它的新功能超过了1.3,其中大部分期待已久:client-side keep-alive 以减少客户端超负载网页的时间,TCP加速来帮助TCP堆栈每个连接节省几个数据包,对服务器上的并发连接数量更少的响应缓冲,RDP协议支持服务器粘性和用户过滤,基于源的粘性将源地址附加到服务器,更好的统计数据界面报告大量有用的信息,详细的健康状况检查报告统计信息和日志中的精确状态和响应,基于流量的健康状况,快速失效超过一定错误阈值的服务器,支持包括统计信息在内的任何请求的HTTP身份验证,并支持密码加密,CLI的服务器管理启用/禁用和更改服务器的权重,而不重新启动haproxy,基于ACL的持久性来维护或禁用基于ACL的持久性,无论服务器的状态如何,日志分析器都可以从以1Gbyte/s解析的日志中生成快速报告。
  • 版本1.3,该版本于2006年发布,带来了许多新的特性和超过1.2的改进。其中内容切换根据任何请求条件选择服务器池,编写内容切换规则的ACL,更广泛的负载平衡算法选择更好的集成,内容检查允许阻止意外的协议,Linux下的透明代理,允许使用客户端的IP地址直接连接到服务器,内核TCP拼接在双方之间转发数据,无需复制,以达到多吉比特数据速率,分层设计分离套接字,TCP和HTTP处理,以实现更强大,更快速的处理和更容易的演进,快速和公平的调度程序,通过为某些任务分配优先级,优化协调环境的会话速率等,实现更好的QoS。
  • 版本1.2自2006年以来一直在生产中使用,并提供了超过1.1的性能水平。它不再被维护,因为大多数用户早已切换到1.3。自从2002年以来一直在维护在线关键网站的版本1.1不再被维护。用户应升级到1.4或1.5。

已知HAProxy在以下操作系统/平台上可靠运行:

  • Linux 2.4 on x86, x86_64, Alpha, Sparc, MIPS, PARISC
  • Linux 2.6 /3.x on x86, x86_64, ARM, Sparc, PPC64
  • Solaris 8/9 on UltraSPARC 2 and 3
  • Solaris 10 on Opteron and UltraSPARC
  • FreeBSD 4.10 - 10 on x86
  • OpenBSD 3.1 to -current on i386, amd64, macppc, alpha, sparc64 and VAX (check the ports)
  • AIX 5.1 - 5.3 on Power™ architecture

概覽

名稱與所有者haproxy/haproxy
主編程語言C
編程語言Makefile (語言數: 10)
平台
許可證Other
發布數347
最新版本名稱v3.0-dev9 (發布於 2024-04-27 09:37:03)
第一版名稱v1.0.0 (發布於 )
創建於2018-04-09 15:17:42
推送於2024-04-27 07:38:37
最后一次提交2024-04-27 09:37:03
星數4.5k
關注者數119
派生數763
提交數22.2k
已啟用問題?
問題數2448
打開的問題數297
拉請求數0
打開的拉請求數0
關閉的拉請求數91
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?

The HAProxy documentation has been split into a number of different files for
ease of use.

Please refer to the following files depending on what you're looking for :

  • INSTALL for instructions on how to build and install HAProxy
  • BRANCHES to understand the project's life cycle and what version to use
  • LICENSE for the project's license
  • CONTRIBUTING for the process to follow to submit contributions

The more detailed documentation is located into the doc/ directory :

  • doc/intro.txt for a quick introduction on HAProxy
  • doc/configuration.txt for the configuration's reference manual
  • doc/lua.txt for the Lua's reference manual
  • doc/SPOE.txt for how to use the SPOE engine
  • doc/network-namespaces.txt for how to use network namespaces under Linux
  • doc/management.txt for the management guide
  • doc/regression-testing.txt for how to use the regression testing suite
  • doc/peers.txt for the peers protocol reference
  • doc/coding-style.txt for how to adopt HAProxy's coding style
  • doc/internals for developer-specific documentation (not all up to date)
去到頂部