1. HAProxy简介
    1.1概述
    HAProxy提供高可用性、负载均衡以及基于TCP和HTTP的应用代理,支持虚拟主机,它是免费、快速并且可靠的一种负载均衡解决方案。适合处理高负载站点的七层数据请求。类似的代理服务可以屏蔽内部真实服务器,防止内部服务器遭受***。

1.2HAProxy优点
• 可靠性和稳定性非常好,可以与硬件的F5相媲美
• 最高可以同时维护40000--50000个并发连接,单位时间内处理的最大请求数为20000个,最大数据处理能力可达10Gbps
• 支持多于8种负载均衡算法 ,同时也支持session保持
• 支持虚拟主机功能
• 从HAProxy 1.3版本后开始支持连接拒绝、全透明代理等功能
• HAProxy拥有一个功能强大的服务器状态监控页面
• HAProxy拥有功能强大的ACL支持

1.3配置文件构成
1)global部分
用于设置全局配置参数,属于进程级的配置,通常与操作系统配置相关

2) defaults部分
默认参数的配置部分。在些部分设置的参数,默认会自动引用到下面的frontend, backend和listen部分

3) frontend部分
用于设置接收用户请求的前端虚拟节点。frontend可以根据ACL规则直接指定要使用的后端backend

4) backend部分
用于设置集群后端服务集群的配置,也就是用来添加一组真实服务器,以处理前端用户的请求

5) listen部分
此部分是frontend和backend部分的结合体

  1. HAProxy与X3集成方式

2.1HAProxy与X3建议使用的负载均衡算法
source : 基于请求源IP的算法。对请求的源IP进行hash运算,然后将结果与后端服务器的权重总数想除后转发至某台匹配服务器。使同一IP客户端请求始终被转发到某特定的后端服务器。

2.2X3负载均衡常用的运行的方式
a) 通过多台Syracuse进行负载均衡,实现按登陆的IP地址分流
b) HAProxy分配一个地址,基本可以使所有的WEB服务器自动均衡。
HAProxy负载均衡应用原理及示例_第1张图片
HAProxy负载均衡应用原理及示例_第2张图片

    2.3配置文件实例-全局参数配置
    1)  global部分

用于设置全局配置参数,属于进程级的配置,通常与操作系统配置相关

HAProxy负载均衡应用原理及示例_第3张图片

2) defaults部分
默认参数的配置部分。在些部分设置的参数,默认会自动引用到下面的frontend, backend和listen部分
HAProxy负载均衡应用原理及示例_第4张图片
frontend部分
用于设置接收用户请求的前端虚拟节点。frontend可以根据ACL规则直接指定要使用的后端backend

4) backend部分
用于设置集群后端服务集群的配置,也就是用来添加一组真实服务器,以处理前端用户的请求

5) listen部分
此部分是frontend和backend部分的结合体

此处配置实例listen部分(包含frontend部分、backend部分),在此我们需要配置后台访问负载均衡的状态界面(监控组),访问的IP为127.0.0.1:801,包括登陆后台用户账号密码也在此配置
bind 0.0.0.0:1080 #默认的端口号,则访问的方式为“IP地址:1080”

2.4配置文件实例-listen

HAProxy负载均衡应用原理及示例_第5张图片

  1. 案例分享
    多台Syracuse装好之后,在此设置负载均衡
    HAProxy负载均衡应用原理及示例_第6张图片
    HAProxy负载均衡应用原理及示例_第7张图片
    此时用配置好的HAProxy端点进行访问,我们可以发现服务器名称会自动负载均衡,完成的效果也是基本可以使所有的WEB服务器实现自动均衡

HAProxy负载均衡应用原理及示例_第8张图片