开源负载均衡器HAProxy 2.0发布,支持更完善的动态配置功能

知名高性能开源负载均衡器HAProxy推出2.0版本,全面支持现代的架构,包括OSI第七层的重试机制、监控应用Prometheus的支持,用户还能使用开源远程程序调用框架gRPC,也能以更多程序语言进行开发。HAProxy 2.0为一个长期支持版本。

HAProxy 2.0是针对云计算和容器环境设计的版本,针对原生云计算应用程序的特性,服务会被不断地创建与终结,应用程序需要不停地执行部署以及更新配置,为了减少用户的工作,HAProxy 2.0提供了全新的Data Plane API,这是一个REST API能够动态配置HAProxy。用户现在可以动态地增加或是删除前端、后端或是服务器。

官方提到,由于HAProxy原本内置Lua支持以及串流处理卸载引擎就已经提供能动态可扩展性,Data Plane API则往前推进,更全面地提供动态配置管理。Data Plane API支持交易(Transaction)特性,能同时应用多个变更,而且始终维持原子性。

而从2017年就有用于Kubernetes的HAProxy Ingress Controller,现在HAProxy 2.0也加入了新版本,新的控制器为Kubernetes托管应用程序提供高性能的入口,不只支持TLS卸载、OSI第七层路由、速率限制以及白名单等功能,还可以通过ConfigMap资源进行配置,并支持用于存储的TLS凭证的机密数据。

官方在HAProxy 1.9加入了HTTP Representation(HTX),能够为HTTP协议产生内部原生的表达式,而这项技术为HAProxy打下了良好的基础,因此2.0才能够提供端到端HTTP/2、gRPC以及OSI第七层的重试机制。

HAProxy 2.0全面支持gRPC,能够处理双向的数据串流、侦测gRPC消息以及纪录gRPC流量,官方提到,gRPC协议是一个现代高性能RPC框架,可以在任何的环境中执行,使用协议缓冲区就能将消息串行化成为二进制格式,这会比使用JSON更加有效率。

HAProxy 2.0的重点功能之一OSI第七层的重试机制,则是官方为减少系统故障时间,而加入的智能应急机制,使用OSI第七层的重试机制,其他台服务器就可以从OSI第七层,重新尝试执行失败的HTTP请求,用户可以使用指令设置重新尝试的次数。而且现在HAProxy还具有自动性能分析的功能,当系统经历平均1000微秒或是更长时间的延迟时,分析功能便会自动启动,而当延迟重新回到低于990微秒的时候,性能分析功能就会自动关闭。