高性能负载均衡软件HA-Proxy概述

ha-proxy概述

ha-proxy是一款高性能的负载均衡软件。因为其专注于负载均衡这一些事情,因此与nginx比起来在负载均衡这件事情上做更好,更专业。

ha-proxy的特点

ha-proxy 作为目前流行的负载均衡软件,必须有其出色的一面。下面介绍一下ha-proxy相对LVS,Nginx等负载均衡软件的优点。

  • 支持tcp / http 两种协议层的负载均衡,使得其负载均衡功能非常丰富。
  • 支持8种左右的负载均衡算法,尤其是在http模式时,有许多非常实在的负载均衡算法,适用各种需求。
  • 性能非常优秀,基于事件驱动的链接处理模式及单进程处理模式(和Nginx类似)让其性能卓越。
  • 拥有一个功能出色的监控页面,实时了解系统的当前状况。
  • 功能强大的ACL支持,给用户极大的方便。

ha-proxy 配置说明

1、ha-proxy http可选的工作模式

  1. 默认为 tunnel-like 模式,client – haproxy – backend server 全部是http长连接模式
  2. http-server-close: client端维持长连接,但是与server端使用短连接, 使用 option http-server-colse设置
  3. httpclose:client server端全部使用短连接模式,使用 option httpclose设置,同时还要添加 option forceclose,option http-prevent-keepalive 避免系统处理出错。

2、haproxy 配置文件

haproxy配置文件中的参数可以由3个途径设置

  1. 启动时命令行设置
  2. global 段设置,这些参数的作用域是整个进程
  3. 代理段设置,可以由”defaults”,”listen”,”frontend”,”backend” 组成。

配置文件的语法由许多的行组成,每一个行由关键字开始,后面紧跟0至多个参数,多个参数之间以空格分隔,如果参数中包括空格” “,”\” 需要进行转译。

3、global参数

影响整个haproxy进程,通过与OS相关。在不知道如何设置时,大部分直接采用系统默认配置即可。

maxconn 比较重要,决定haproxy可同时维持的最大链接数。
daemon 是否后台运行,绝大多数都是deamon的。

userlists:
对系统做鉴权的参数,可提供统一的http 鉴权,避免使用nginx去配置。具体用法,可查看参考文档。

4、Proxies 设置

proxy段即是配置代理段,包括haproxy监听的端口,后端处理请求的服务配置等。可由下面的一系统配置组成:defaults,frontend,backend,listen

  • defaults:设置接下来的段里面配置参数的默认值。
  • frontend:描述一系列接收client 请求的监听socket。
  • backend: 描述一系统接收haproxy转发请求的后端server。
  • listen:描述一个完整的proxy过程,即包括frontend 和 backend,通过只用于tcp方式。

HAproxy 的详细介绍:请点这里
HAproxy 的下载地址:请点这里

推荐阅读:

相关推荐