`
gaojingsong
  • 浏览: 1183054 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【HAProxy简介】

阅读更多

1、HAProxy简介

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

HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户空间(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。

HAProxy是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,HAProxy是完全免费的、借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案。

 

(1)免费开源,稳定性也是非常好,这个可通过我做的一些小项目可以看出来,单Haproxy也跑得不错,稳定性可以与硬件级的F5相媲美;

 

(2)根据官方文档,HAProxy可以跑满10Gbps-New benchmark of HAProxy at 10 Gbps using Myricom's 10GbE NICs (Myri-10G PCI-Express),这个数值作为软件级负载均衡器是相当惊人的;

 

(3)HAProxy 支持连接拒绝 : 因为维护一个连接的打开的开销是很低的,有时我们很需要限制攻击蠕虫(attack bots),也就是说限制它们的连接打开从而限制它们的危害。 这个已经为一个陷于小型DDoS攻击的网站开发了而且已经拯救了很多站点,这个优点也是其它负载均衡器没有的。

 

(4)HAProxy 支持全透明代理(已具备硬件防火墙的典型特点): 可以用客户端IP地址或者任何其他地址来连接后端服务器. 这个特性仅在Linux 2.4/2.6内核打了cttproxy补丁后才可以使用. 这个特性也使得为某特殊服务器处理部分流量同时又不修改服务器的地址成为可能。

 

(5)HAProxy现多于线上的Mysql集群环境,我们常用于它作为MySQL(读)负载均衡;

 

(6)自带强大的监控服务器状态的页面,实际环境中我们结合Nagios进行邮件或短信报警,这个也是我非常喜欢它的原因之一;

 

(7)HAProxy支持虚拟主机,许多朋友说它不支持虚拟主机是错误的,通过测试我们知道,HAProxy是支持虚拟主机的。

 

HAProxy特别适用于那些负载特大的web站点, 这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。

 

 

 

2、配置HAProxy Session亲缘性的三种方式

haproxy负载均衡保持客户端和服务器Session亲缘性的三种方式:

1 用户IP 识别

haproxy 将用户IP经过hash计算后 指定到固定的真实服务器上(类似于nginx 的IP hash 指令)

配置指令 balance source

 

2 cookie 识别

haproxy 将WEB服务端发送给客户端的cookie中插入(或添加前缀)haproxy定义的后端的服务器COOKIE ID。

配置指令例举 cookie SESSION_COOKIE insert indirect nocache

用firebug可以观察到用户的请求头的cookie里 有类似" Cookie jsessionid=0bc588656ca05ecf7588c65f9be214f5; SESSION_COOKIE=app1" SESSION_COOKIE=app1就是haproxy添加的内容

 

3 session 识别

haproxy 将后端服务器产生的session和后端服务器标识存在haproxy中的一张表里。客户端请求时先查询这张表。

配置指令例举 appsession JSESSIONID len 64 timeout 5h request-learn

配置举例:

#vi /usr/local/haproxy/haproxy.cfg

backend COOKIE_srv

mode http

cookie SESSION_COOKIE insert indirect nocache

server REALsrv_70 184.82.239.70:80 cookie 11 check inter 1500 rise 3 fall 3 weight 1

server REALsrv_120 220.162.237.120:80 cookie 12 check inter 1500 rise 3 fall 3 weight 1

backend SOURCE_srv

mode http

balance source

server REALsrv_70 184.82.239.70:80 cookie 11 check inter 1500 rise 3 fall 3 weight 1

server REALsrv_120 220.162.237.120:80 cookie 12 check inter 1500 rise 3 fall 3 weight 1

backend APPSESSION_srv

mode http

appsession JSESSIONID len 64 timeout 5h request-learn

server REALsrv_70 184.82.239.70:80 cookie 11 check inter 1500 rise 3 fall 3 weight 1

server REALsrv_120 220.162.237.120:80 cookie 12 check inter 1500 rise 3 fall 3 weight 1[2] 

0
4
分享到:
评论

相关推荐

    haproxy-1.5.14.zip

    一、haproxy简介 haproxy的核心功能是将来自客户端的请求分发到后端服务器,以实现负载均衡。它可以在多台服务器之间智能地分配工作负载,确保无单点故障,提高系统的整体可用性。haproxy支持多种协议,包括HTTP、...

    HAProxy的安装和部署.doc

    #### 一、HAProxy简介及优势 HAProxy(High Availability Proxy)是一款开源且高效的数据包代理服务器软件,专为Web应用设计,用于实现网络层(TCP)和应用层(HTTP)的负载均衡。相比其他负载均衡方案,HAProxy以...

    haproxy-2.6.5 for windows 64位 不支持ssl

    **haproxy简介** haproxy是一款开源的高性能、高可用性的网络负载均衡器,它在业界被广泛应用,尤其在大型网站和云服务环境中。haproxy的主要功能是将进入的网络请求根据预设策略分配到后端服务器,从而实现流量...

    haproxy-1.7.8 window稳定版本

    1. **haproxy简介** haproxy是一个开源的软件,主要功能是提供TCP和HTTP应用的负载均衡。它可以将流量分发到多个服务器,减轻单个服务器的压力,提高整体服务的可靠性和响应速度。haproxy支持多种负载均衡算法,如...

    HAProxy+Nginx实现负载均衡

    #### 一、HAProxy简介与特性 HAProxy是一款开源的、高效且可靠的负载均衡器,专为处理大规模Web流量设计。其核心功能包括: - **高可用性**:HAProxy能够确保在主节点发生故障时自动切换至备用节点,从而维持服务...

    HAProxy+MyCat高可用集群配置

    **一、HAProxy简介** HAProxy主要功能是提供对HTTP和TCP应用的负载均衡,具备快速、可靠和高可扩展性。它能够根据服务器的状态动态分配请求,避免单点故障,提高服务的可用性。HAProxy支持多种负载均衡策略,如轮询...

    Ubuntu下haproxy安装代码

    #### 一、HAProxy 简介 HAProxy (High Availability Proxy) 是一款提供高可用性、负载均衡以及代理服务的软件,支持 TCP 和 HTTP 应用程序。它免费且开源,被广泛应用于 Web 服务器集群等场景中的负载均衡。 #### ...

    Haproxy-2.1.3.tar.gz最新下载

    1. **Haproxy简介** Haproxy是法国公司维基媒体(Wikimedia)开发的一款软件,主要用于在高流量网站上分配网络负载。它支持多种协议,包括HTTP、HTTPS、TCP和HTTP/2,可以实现七层负载均衡,即应用层负载均衡。 2....

    haproxy.zip

    1. **haproxy简介** - Haproxy是一款开源的负载均衡软件,主要功能是分发网络流量到多个服务器,以提高服务的可用性和响应速度。 - 它能够处理大量并发连接,并且具有高可靠性,常用于Web服务器集群、数据库集群...

    haproxy资源学习

    #### 一、HAProxy简介 HAProxy(High Availability Proxy)是一款免费、开源的软件,提供了高可用性、负载均衡以及代理功能,支持四层(TCP)和七层(HTTP)协议。它在互联网上被广泛应用于负载均衡,通过将请求...

    Haproxy+Heartbeat 高可用集群方案操作记录

    #### 一、Haproxy简介 Haproxy是一款免费、快速且可靠的解决方案,用于提供高可用性、负载均衡以及代理服务。它特别适用于web应用,能够有效提高应用的性能和可靠性。Haproxy支持多种负载均衡算法,如轮询、最少...

    haproxy.tar.gz

    一、haproxy简介 haproxy以其轻量级、高效能和稳定性著称,支持多种协议,如HTTP、HTTPS、SMTP、FTP等。它可以根据不同的策略将请求分发到后端服务器,从而实现负载均衡。haproxy还具备健康检查功能,可以检测后端...

    Windows版 haproxy6.5

    **haproxy简介** haproxy是一款开源的高性能负载均衡器和反向代理服务器,它广泛应用于各种场景,包括Web服务器集群的负载均衡、API管理、微服务架构等。haproxy以其轻量级、高效能和稳定性著称,能够处理大量的...

    Go-适用于K8s的HAProxy入口控制器

    1. **HAProxy简介** HAProxy是一款广泛使用的开源负载均衡器,它提供了高可用性、性能和稳定性。通过将流量分发到后端服务器,HAProxy确保了服务的连续性和效率。 2. **Kubernetes入口控制器** 在K8s中,入口控制...

    实验手册keepalived+haproxy

    **Haproxy简介**: - **定义**:Haproxy 是一个开源的高性能 TCP/HTTP 反向代理和负载均衡软件,主要用于构建高可用性的网络环境。 - **特点**:它支持 TCP/HTTP 层的负载均衡,并具有丰富的功能,如 cookie 跟踪、...

    HAProxy部署手册.docx

    #### 一、HAProxy简介 **1.1 HAProxy概述** HAProxy(High Availability Proxy)是一款提供高可用性、负载均衡功能的代理软件,主要针对TCP(第四层)和HTTP(第七层)应用。这款软件具有以下显著特点: - **免费...

    haproxy-1.5.3.tar 源码包

    1. **haproxy简介**: - haproxy是一个高可用性、高性能的代理服务器,它可以将进来的网络请求分配到后端的多个服务器,实现负载均衡,防止单一服务器过载。 - 它支持基于内容的路由,可以根据URL、HTTP头部或其他...

    haproxy均衡负载

    #### 一、Haproxy简介及应用场景 Haproxy是一种高可用性、高性能的负载均衡与代理解决方案,适用于基于TCP和HTTP的应用场景。它可以支持虚拟主机,对于那些需要会话保持或者七层处理的大规模Web站点来说尤其适用。...

Global site tag (gtag.js) - Google Analytics