HAproxy概述与简单安装使用(一)

 

从最根本应用来讲,haproxy是一个代理,或者说是一个httpd的代理

代理类型分为两种,正向代理和反向代理

代理类型:私有代理,为本地或有限用户的

公共代理:如谷歌

 

Haproxy代理作用:访问控制,web缓存(加速),反向代理,内容请求路由(根据流量及内容类型等条件将请求转发至特定的服务器),转码器

缓存的作用,减少冗余内容的传输,从而节省了带宽,缓解了后端网络瓶颈,降低了对原始请求服务器的请求压力,降低传输 延迟

 

事实上haproxy只是一个http一些的反向代理,但支持tcp层基于tcp的应用层做负载均衡

 

七层反向代理,4层负载均衡软件

事实上haproxy本身是不具备ha功能,它称为haproxy可能是后面有多个原始服务器,任何一个down机,用户请求仍然可以继续。

Haproxy提供负载均衡和基于tcphttp应用的代理,支持虚拟机,是一个免费,快速并可靠的解决方案,适用于负载均衡特大级web站点

,这些站点通常又需要会话保持和七层处理


Haproxy事件驱动和单一进程模型,此模型支持非常大的并发连接数,多进程或多线程模型受内存限制,而对haproxy来讲,多线程多进程可能不是最佳选择,单个进程响应多个请求,那么c10k就不存在问题了

 

 

Haproxy使用改进过的红黑树,并且是二叉的,叫做弹性二叉树(ebtree),这是haproxy作者自行为了haproxy更优化数据存储,特地开发的一个数据结构。

PS

Haproxy是一个代理,是一个代理则意味着前端有一个链接,后端必然也有一个。然而它肯定有很多个。一个链接建立起来后,肯定会端开,端开后需要被删除,众多链接保存,链接状态的追踪都需要一个存储机制进行存储!

为了有限追踪当前主机的所有链接以及每一个链接的状态信息,它需要一个特殊的数据结构来保存它,以便于实现新链接插入,旧链接删除等其他问题!

 

 

Haproxy1.4

 ACL特性,基于源粘性,日志分析,负载均衡等等

Haproxy弱项:并发量不够,应用层协议,tap代理模型

性能特性,单进程的事件驱动,,

系统调用降低:haproxy能够在应用用户空间完成的的功能,不在会发起系统调用。因为在任何系统调用都会导致模式转换,而模式转换一定会降低性能。

缓存聚合等。

 

Haproxy从三个因素评估性能:

会话率:会话创建速率,单位时间创建

会话能力:负载均衡器同时承载

数据率:承载众多数据时,完成的交换能力

 

负载均衡中,后端有缓存时,haproxy即可支持除膜取于,或一致性hash算法,并且支持cook做粘性,这便意味着haproxy在做http代理中的重要地位

 

Haproxy只是http协议的反向代理,但支持tcp层对基于tcp的应用层做lb


配置和安装

[root@haproxy ~]# yum -y install haproxy

[root@haproxy ~]#Vim /etc/rsyslog.conf

开启日志udp

 

Web2web1主机分别配置http的根目录index.html文件,两个文件分别写入web1web2,做调度区分

haproxy中配置如下:

1,  修改端口

 frontend  main *:80

2,  default_backend             app

backend定义名

3,定义后端主机

backend app  调用定义的服务器组名

             balance     roundrobin  负载均衡算法

             server  web1 192.168.131.136:80 check web1

             server  web2 192.168.131.137:80 check web2

4,  测试负载均衡




2 分享

您可以选择一种方式赞助本站

支付宝扫码赞助

支付宝扫码赞助

日期: 2015-06-30分类: HAproxy

标签: haproxy

发表评论