JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

haproxy 特性说明 haproxy原理详解

wys521 2024-10-27 15:41:06 精选教程 31 ℃ 0 评论

一:haproxy 介绍

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

AProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,其处理能力比Nginx弱一些,一般适用于访问量并发在1万以下的小型集群,自带的一些健康检查,session保留等功能非常实用


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

当其代理的后端服务器出现故障,haproxy会自动将该服务器摘除,故障恢复后再自动将该服务器加入

一、roundrobin,表示简单的轮询,这个不多说,这个是负载均衡基本都具备的;

二、static-rr,表示根据权重,建议关注;

三、leastconn,表示最少连接者先处理,建议关注;

四、source,表示根据请求源IP,建议关注;

五、uri,表示根据请求的URI;

六、url_param,表示根据请求的URl参数'balance url_param' requires an URL parameter name

七、hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求;

八、rdp-cookie(name),表示根据据cookie(name)来锁定并哈希每一次TCP请求。


二:haproxy ACL 说明

hdr(host)

hdr

hdr(header)

用于测定请求报文中的所有首部或指定首部是否满足指定的条件,指定首部时,其名称不区分大小写,且在括号“()”中不能有任何多余的空白字符,测试服务器端的响应报文时可以使用shdr()。例如。下面的例子用于测试首部Connection的值是否为close 1

hdr(Connection) -i close

path_beg

用于测试请求的URI是否以指定的模式开头。

acl url_static path_beg -i /static /images /javascript /stylesheets

测试URL是个以/static /images /javascript /stylesheets开头

path_end

用于测试请求的URL是否以指定的模式结尾

acl url_static path_end -i .jpg .gif .png .css .js

测试URI是否以.jpg .gif .png .css .js结尾

hdr_beg

用于测试请求报文的指定首部的开头部分是否符合指定的模式

acl host_static hdr_beg(host) -i img. video. download. ftp.

用于测试请求报文首部中的主机是否已img. video. download. ftp.开头

hdr_end

用于测试请求报文的指定首部结尾是否符合指定的模式

hdr_reg(host)


三:HAProxy 健康检查

HAProxy 反向代理服务器支持双机热备支持虚拟主机,其配置简单,拥有非常不错的服务器健康检查功能。当其代理的后端服务器出现故障,HAProxy会自动将该服务器摘除,故障恢复后再自动将该服务器加入

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表