您当前的位置:首页 > lua

HAProxy 将使用 Lua 重写,2016.4.1 发布 1.6 版!

HAProxy 将完全使用 Lua 重写,之前使用的是 C 语言。HAProxy 1.6 计划在 2016 年 4 月 1 日发布,HAProxy 刚好使用 366 天完成这个重大的任务!VMnlinux系统宝典

这段时间 HAProxy 开发的进度越来越慢,主要原因是:VMnlinux系统宝典

  • 代码库不断在增长,而构建的时间越来越长。十年前,1.1.31 版本只有 6716 行代码;现在,主线代码就有 108395,比之前增长了 16 倍。VMnlinux系统宝典

  • gcc 的开发也越来越慢VMnlinux系统宝典

  • 开发中每天至少需要半个小时来进行项目构建VMnlinux系统宝典

  • 学校已经不再学习 C 语言,很难找到新的贡献者。事实上,大部分会 C 的人都已经有工作,而且只有很少的时间投入到开源事业VMnlinux系统宝典

与此同时,HAProxy 的作者也已经 41 岁了,不能像以前那样很好的优化代码了。VMnlinux系统宝典

当前的 Lua 组件速度非常快,虽然可能没有 C 那么快,但是 Lua 在不断改进,所以相信几年后将会越来越快,追上 C,因此,HAProxy 的作者希望使用 Lua 来完全重写 HAProxy,那样会带来很多益处。VMnlinux系统宝典

首先,Lua 非常容易学习,这样更容易找到更多的开发者和贡献者。还有一个好处就是不再担心资源分配了,使用 strdup() 来保存字符串副本,当简单操作  "a = b" 的时候无需再担心内存使用。VMnlinux系统宝典

其次,Lua 不要求编译器,所以每天 200 个构建可以节省 30 分钟的时间,这会加快每个开发者的开发速度。VMnlinux系统宝典

第三,HAProxy 最新的版本有大量的新样本获取函数和转换器。现在不再需要这些了,因为代码和配置将会混合在一起,就像每个人用 Shell 脚本一样。VMnlinux系统宝典

最后,当前的 HAProxy 将会只保留 Lua 引擎,也许以后会找到更好的,HAProxy 将会作为 Lua 库分发到每个地方,也许会出现在 IoT(物联网)设备,如果有意义的话。 (也许有人都想着在手表中使用 HAProxy?)VMnlinux系统宝典

这些步骤不再需要做代码版本控制了,因为每个人都有自己的 fork,代码会不断的增长。同时也意味着 Git 对 HAProxy 已经无用了。安全方面也会是更好的选择。VMnlinux系统宝典

HAProxy 技术的大部分资源都会分配给这个任务,明显的,所有开发团队都是全职工作,同时会培训 sales 人员使用 Lua 编码,加快开发速度。VMnlinux系统宝典

当然,HAProxy 将会继续提供 HAPEE fork 而来的企业版本,重命名为 "Luapee"。Luapee 将会提供所有的组件和 VRRP,SNMP 等等专业的解决方案。从长远来看,期望能用 Lua 重写这些组件。VMnlinux系统宝典

ALOHA 应用也会做些相应的改进,可以说是 Lua 引擎,用来运行所有的代码,也许会重命名为 HALUA。VMnlinux系统宝典

一旦全部都移植,HAProxy 作者将会使用微架构体系领域的技能设计一个原生的 Lua 处理器,提升应用的速度。VMnlinux系统宝典

使用 Lua 重写的过程会很枯燥,就像使用 Lua 重写 OpenSSL,不会简单也不会有什么乐趣。但是为了安全和速度,一切都值得。VMnlinux系统宝典

这么重大的任务,HAProxy 团队计划 2016 年 4 月 1 日发布 HAProxy 1.6 版本,使用 366 天来完成这个任务。希望大家能理解,他们也是没有其他选择:)VMnlinux系统宝典

更多内容请看这里:。VMnlinux系统宝典

HAProxy提供高可用性负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机, 它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点, 这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整 合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。VMnlinux系统宝典

下图是HAProxy的架构:VMnlinux系统宝典

VMnlinux系统宝典

Haproxy+Keepalived搭建Weblogic高可用负载均衡集群 VMnlinux系统宝典

Keepalived+HAProxy配置高可用负载均衡 VMnlinux系统宝典

6.3下Haproxy+Keepalived+Apache配置笔记 VMnlinux系统宝典

Haproxy + KeepAlived 实现WEB群集 on CentOS 6 VMnlinux系统宝典

Haproxy+Keepalived构建高可用负载均衡 VMnlinux系统宝典

使用 HAProxy 配置 HTTP 负载均衡器 VMnlinux系统宝典

HAproxy 的详细介绍VMnlinux系统宝典
HAproxy 的下载地址VMnlinux系统宝典



沪ICP备10206494号-4