HAProxy介绍

HAProxy介绍

HAProxy

    HAProxy: 是法国人Willy Tarreau 开发的一个开源软件,是一 款应对客户端10000 以上的同时连接的高性能的TCP和HTTP 负载均衡器。
    其功能是用来提供基于cookie的持久性,基于内容的交换,过载保护的高级流量管制,自动故障切换,以正则表达式为基础的标题控制运行时间,基于Web 的报表,高级日志记录以帮助排除故障的应用或网络及其他功能。
     LB Cluster:
        四层:lvs, nginx(stream) ,haproxy(mode tcp)
        七层:http: nginx(http), haproxy(mode http), httpd...
     HAProxy :http://www.haproxy.org
     文档:https://cbonte.github.io/haproxy-dconv/
    软件负载均衡一般通过两种方式来实现:
        基于操作系统的软负载实现和基于第三方应用的软负载实现。
        LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载。
    HAProxy是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件。
    HAProxy是完全免费的、借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案。

HAProxy支持两种主要的代理模式

    TCP  即4层 (大多用于邮件服务器、内部协议通信服务器等),在4层模式下,HAProxy仅在客户端和服务器之间转发双向流量。
        它主要是通过分析IP层及TCP/UDP层的流量实现的基于IP加端口的负载均衡。
        仅建立一次TCP连接。
    HTTP 即7层模式,HAProxy会分析协议,并且能通过允许、拒绝、交换、增加、修改或删除请求 (request)或者回应(response)里指定内容来控制协议,
      七层负载均衡器可以根据报文内容,再配合负载均衡算法来选择后端服务器,因此也称为“内容交换器”。
        负载均衡器与客户端及后端的服务器会分别建立一次TCP连接
    七层负载均衡对负载均衡设备的要求更高,而七层负载均 衡的处理能力也必然低于四层模式的负载均衡。

HAProxy负载均衡策略非常多

    HAProxy的负载均衡算法现在具体有如下8种:
    roundrobin,表示简单的轮询,这个不多说,这个是负载均衡基本都具备的;
    static-rr,表示根据权重,建议关注;
    leastconn,表示最少连接者先处理,建议关注;
    source,表示根据请求源IP,这个跟Nginx的IP_hash机制类似,我们用其作为解决session问题的一种方法,建议关注;
    ri,表示根据请求的URI;
    rl_param,表示根据请求的URl参数’balance url_param’ requires an URL parameter name;
    hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求;
    rdp-cookie(name),表示根据据cookie(name)来锁定并哈希每一次TCP请求。

HAProxy优缺点

    HAProxy的优点
      1、HAProxy是支持虚拟主机的,通过frontend指令来实现
      2、能够补充Nginx的一些缺点比如Session的保持,Cookie的引导等工作
      3、支持url检测后端的服务器出问题的检测会有很好的帮助。
      4、它跟LVS一样,本身仅仅就只是一款负载均衡软件,单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的。
      5、HAProxy支持TCP协议的负载均衡转发,可以对Mysql读进行负载均衡,对后端的MySQL节点进行检测和负载均衡,不过在后端的MySQL slaves数量超过10台时性能不如LVS
      6、能对请求的url和header中的信息做匹配,有比LVS有更好的7层实现
           7、自带强大的监控服务器状态的页面。
    HAProyx的缺点
        1、重载配置的功能需要重启进程,虽然也是 soft restart,但没有 Nginx 的 reaload 更为平滑和友好。
        2、多进程模式支持不够好。
        3、不支持 HTTP cache 功能,现在不少开源的 lb 项目,都或多或少具备 HTTP cache 功能。

HAProxy功能

    HAProxy 是TCP / HTTP 反向代理服务器,尤其适合于高可用性环境。
        可以针对HTTP 请求添加cookie,进行路由后端服务器
        可平衡负载至后端服务器,并支持持久连接
        支持基于cookie 进行调度
        支持所有主服务器故障切换至备用服务器
        支持专用端口实现监控服务
        支持不影响现有连接情况下停止接受新连接请求
        可以在双向添加,修改或删除HTTP 报文首部
        支持基于pattern 实现连接请求的访问控制
        通过特定的URI 为授权用户提供详细的状态信息
        支持http 反向代理
        支持动态程序的反向代理
        支持基于数据库的反向代理

    

HAProxy 组成

    程序环境:
        yum install  haproxy
        rpm -ql haproxy
            /etc/haproxy
            /etc/haproxy/haproxy.cfg
            /etc/logrotate.d/haproxy
            /etc/rc.d/init.d/haproxy
            /etc/sysconfig/haproxy
            /usr/bin/halog
            /usr/bin/iprange
            /usr/sbin/haproxy
            /usr/share/doc/haproxy-1.5.18
            /usr/share/haproxy
            /var/lib/haproxy
        主程序:/usr/sbin/haproxy
        配置文件:/etc/haproxy/haproxy.cfg
        Unit file :/usr/lib/systemd/system/haproxy.service
    配置段:
        global :全局配置段
            进程及安全配置相关的参数
            性能调整相关参数
            Debug 参数
        proxies :代理配置段
            defaults :为frontend, backend, listen 提供默认配置
            fronted :前端,相当于nginx, server {}
            backend :后端,相当于nginx, upstream {}
            listen :同时拥有前端和后端,

    简单的配置示例:
        frontend web
            bind *:80
            default_backend websrvs
        backend websrvs
            balance roundrobin
            server srv1 172.16.0.6:80 check
            server srv2 172.16.0.7:80 check

原文地址:https://www.cnblogs.com/shenxm/p/8463555.html

时间: 2024-10-29 04:43:42

HAProxy介绍的相关文章

haproxy介绍及基本配置

一 简介: 1 haproxy 介绍 HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上.HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并

HAProxy详解(一):HAProxy介绍【转】

一.高性能负载均衡软件HAProxy介绍: 随着互联网业务的迅猛发展,大型电商平台和门户网站对系统的可用性和可靠性要求越来越高,高可用集群.负载均衡集群成为一种热门的系统架构解决方案.在众多的负载均衡集群解决方案中,有基于硬件的负载均衡设备,例如F5.Big-IP等,也有基于软件的负载均衡产品,例如HAProxy.LVS.Nginx等.在软件的负载均衡产品中,又分为两种实现方式,分别是基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载均衡,而H

HAProxy介绍和相关配置演示

HAProxy提供高可用性(体现在可以对后端RS的健康检查).负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在时下的硬件上,完全可以支持数以万计的并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上. HAProxy实现了一种事件驱动.单一进程模型,此模型支持非常大的并发连接数.

Haproxy介绍与基本应用初探

HAProxy是什么 TCP代理软件:L4(伪四层)http反向代理软件:七层应用代理支持SSL连接:支持客户端到到Haproxy,Haproxy到后面服务器,以及全程SSL的支持负载均衡器,支持会话粘性;HTTP协议的修正与保护,以及内容压缩总体来说:HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力(反向代理).采用单线程事件驱动型非阻塞引擎;媲美商用负载均衡器的性能和稳定性.haproxy常用架构: HAProxy的核心功能 负载均衡:L4(伪四层)和L7两种模式,支持R

HaProxy介绍,安装及配置

1,HaProxy简介HAProxy 是一款可靠的,提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在时下的硬件上,完全可以支持数以万计的 并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上. 2,安装配置HaProxy以下实验环境均为Ce

Haproxy的介绍和安装

Haproxy介绍 软件介绍 Haproxy是一个开源的高性能的反向代理或者说是负载均衡服务软件之一,它支持双机热备,虚拟主机,基于TCP和HTTP应用代理等功能.配置简单,而且拥有服务器节点的健康检查功能(相当于keepalived健康检查),当后端服务器宕机时,haproxy会自动将故障服务器摘除,当服务器故障恢复后,再自动加入到集群中. Haproxy特别在适用于那些访问量很大,但又需要会话保持或七层应用的业务.支持两种主要的代理模式:4层Tcp代理(例如邮件服务,mysql业务,ssh等

haproxy部署及配置

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

通过haproxy + keepalive 实现高可用负载均衡

软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HAProxy相比LVS的使用要简单很多,功能方面也很丰富.当 前,HAProxy支持两种主要的代理模式:"tcp"也即4层(大多用于邮件服务器.内部协议通信服务器等),和7层(HTTP).在4层模式 下,HAProxy仅在客户端和服务器之间转发双向流量.7层模式下,HAProxy会分析协议,

HAProxy 基础入门

Haproxy 基础入门 =============================================================================== 概述: =============================================================================== HAProxy:  1.LB CLuster均衡集群工作的协议层分类 ★LB CLuster: ⊙传输层(四层): lvs:Linux Virtu