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
发布数350
最新版本名称v3.0-dev12 (发布于 2024-05-18 16:51:23)
第一版名称v1.0.0 (发布于 )
创建于2018-04-09 15:17:42
推送于2024-05-18 14:51:33
最后一次提交2024-05-18 16:51:23
星数4.5k
关注者数119
派生数765
提交数22.3k
已启用问题?
问题数2469
打开的问题数304
拉请求数0
打开的拉请求数0
关闭的拉请求数92
已启用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)
去到顶部