澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站高负载均衡学习haproxy之安

HAproxy安排计划

拓扑图
澳门新浦京娱乐场网站 1

黄金时代、四层和七层负载均衡的分别

所谓的四层便是ISO参谋模型中的第四层。四层负载均衡也叫做四层沟通机,它主若是通过剖析IP层及TCP/UDP层的流量落成的依靠IP加端口的载荷均衡。数见不鲜的基于四层的载荷均衡器有LVS、F5等。
以科学普及的TCP应用为例,负载均衡器在吸纳到第一个来自客商端的SYN供给时,会透过设定的载荷均衡算法选拔多个精品的后端服务器,同一时候将报文中目的IP地址改善为后端服务器IP,然后径直转载给该后端服务器,那样一个载重均衡要求就完事了。从那个进程来看,叁个TCP连接是客商端和服务器直接建设构造的,而负载均衡器只不超过实际现了二个肖似路由器的转向动作。在一些负载均衡战略中,为确认保证后端服务器重临的报文能够正确传递给负载均衡器,在转账报文的还要也许还大概会对报文原本的源地址进行修正。整个进程下图所示。

 澳门新浦京娱乐场网站 2

 

 

同理,七层负载均衡器也可以称作七层调换机,位于OSI的最高层,即应用层,那时候负荷均衡器扶持各类行使公约,见惯不惊的有HTTP、FTP、SMTP等。七层负载均衡器可以凭仗报文内容,再协作负载均衡算法来抉择后端服务器,因而也可以称作“内容交流器”。比如,对于Web服务器的载重均衡,七层负载均衡器不但能够依照“IP 端口”的不二等秘书技举行负荷分流,仍然为能够依据网址的UENVISIONL、访谈域名、浏览器系列、语言等调控负载均衡的布置。比如,有两台Web服务器分别对应中斯拉维尼亚语五个网址,五个域名分别是A、B,要落到实处访问A域名时步入普通话网址,访谈B域名时走入意大利语网址,那在四层负载均衡器中差相当少是不可能兑现的,而七层负载均衡能够依照顾客端访谈域名的不及选项相应的网页进行负荷均衡管理。管见所及的七层负载均衡器有HAproxy、Nginx等。

此处仍以清汤寡水的TCP应用为例,由于负载均衡器要博取到报文的内容,因此只好先取代后端服务器和客户端创建连接,接着,才干接过客户端发送过来的报文内容,然后再依据该报文中一定字段加上负载均衡器中装置的载荷均衡算法来调整末了筛选的内部服务器。纵观整个进度,七层负载均衡器在此种情状下相似于二个代理服务器。整个经过如下图所示。

澳门新浦京娱乐场网站 3

 

相比较四层负载均衡和七层负载均衡运维的成套进度,能够见见,在七层负载均衡格局下,负载均衡器与客商端及后端的服务器会分别建设构造一遍TCP连接,而在四层负载均衡形式下,仅确立一回TCP连接。由此可见,七层负载均衡对负荷均衡设备的渴求更加高,而七层负载均衡的拍卖本事也不容争辩低于四层形式的负载均衡。

烂泥:高负载均衡学习haproxy之安装与配置,负载均衡haproxy

正文由秀依林枫提供友情赞助,首发于烂泥行天下

至于高负载均衡的软件,如今使用超多的是haproxy、nginx和lvs。上面大家就起来攻读haprxoy那款软件。

一、haproxy介绍

以下最初介绍有关haproxy的法规及其优点。

1.1、haproxy原理

haproxy提供高可用性、负载均衡以致依照TCP(第四层)和HTTP(第七层卡塔 尔(阿拉伯语:قطر‎应用的代办,扶持设想主机,它是无偿、快速而且可信的黄金年代种缓慢解决方案。

haproxy非常适用于那么些负载一点都不小的web站点,那么些站点常常又需求会话保持或七层管理。haproxy运营在眼下的硬件上,完全能够扶持多元的面世连接,何况它的周转形式使得它能够超级轻便安全的组合进你当前的架构中,同一时间能够维护你的web服务器不被爆出到互连网上。

haproxy实现了意气风发种事件驱动、单意气风发进度模型,此模型支撑极度大的并发连接数。多进程或四线程模型受内部存款和储蓄器约束、系统调节器约束以至无处不在的锁节制,少之又少能管理数千并发连接。

事件驱动模型因为在有越来越好的财富和岁月处理的客户端(User-Space)完结全数这个职分,所以并未有那个难点。此模型的弊病是,在多核系统上,这一个程序经常扩充性比较差。那正是怎么他们必须要开展优化以使每一个CPU时间片(Cycle)做更加多的行事。

1.2、haproxy的优点

(1卡塔 尔(英语:State of Qatar)无偿开源,牢固性也是丰硕好。单haproxy也跑得不错,牢固性可以与硬件级的F5相抗衡。

(2卡塔尔依照官方文书档案,haproxy能够跑满10Gbps,那几个数值作为软件级负载均衡器是生机勃勃对大器晚成惊人的。

(3卡塔尔haproxy援助连接谢绝:因为爱慕叁个总是的开荒的开垦是比比较低的,有的时候咱们很需求约束攻击蠕虫(attack bots卡塔 尔(英语:State of Qatar),也等于说节制它们的接连展开进而限定它们的苛虐对待。这一个已经为四个陷入MiniDDoS攻击的网址开拓了同不经常间早就营救了好多站点,那一个优点也是任何负载均衡器未有的。

(4卡塔 尔(英语:State of Qatar)haproxy扶持全透西汉理(已持有硬件防火墙的优良特征卡塔 尔(英语:State of Qatar):能够用顾客端IP地址大概此外其它地方来连接后端服务器。那几个特点仅在Linux 2.4/2.6内核打了tcp proxy补丁后才得以行使。这几个特点也使得为某特种服务器管理部分流量同期又不更换服务器之处成为恐怕。

(5卡塔尔国haproxy现多于线上的Mysql集群遭遇,我们常用来它看成MySQL(读卡塔尔负载均衡。

(6卡塔尔自带强盛的督察服务器状态的页面,实际条件中大家结合Nagios进行邮件或短信报告急察方。

(7卡塔 尔(英语:State of Qatar)HAProxy协理虚拟主机,超多有相爱的人说它不帮助设想主机是荒诞的,通过测量检验我们领略,HAProxy是永葆虚构主机的。

PS:此次实验的OS为ubuntu server 14.04。

二、业务框架结构图

这两天大家以实际的专业架构图,来利用haproxy。业务架构图如下:

其一是骨干的事情架构图,对外是haproxy那台服务器。目前临风还没虚构haproxy的单点故障难题,那一个难题大家会在继续的keepalived小说中会进行介绍。

前几天要求如下:

2.1、域名跳转

顾客端访谈

客户端访谈

2.2、IP地址跳转

顾客端访谈

2.3、端口跳转

客商端访问

2.4、暗中同意跳转

假诺顾客端访谈的不是dg.test.com与192.168.5.171,那多个地点的话,要把要求全部分发到192.168.5.178:8080上。

2.5、多ACL匹配

倘若客商端的IP是192.168.5.140,同有时候做客的是

三、安装haproxy

haproxy的官方网址是

haproxy的设置大家能够分杨旭码方式和apt-get方式。上面对其设置格局开展逐项批注。

3.1 源码方式安装haproxy

haprxoy方今时尚的版本为1.6,为了专门的学问的国家长期巩固,在这里大家选拔的是1.3.15.27那么些版本。

在进展源码安装早前,首先要安装相关的软件库。如下:

sudo apt-get -y install make gcc

创办运营haproxy时,使用的客户。在此大家运用haproxy这些客商,何况此客商无法登陆到系统。如下:

sudo useradd -m haproxy

cat /etc/passwd |grep haproxy

透过上海图书馆,大家得以看出haproxy顾客及客户组的ID均为1005。

于今上马下载源码包如下:

wget

解压源码包,如下:

tar -xf haproxy-1.3.15.27.tar.gz

cd haproxy-1.3.15.27/

翻开haproxy的安装文件,如下:

more README

那张图很明朗的报告我们,编写翻译安装haproxy要求的软件库。除却还须求选拔OS的根本版本,linux2.6之上的版本,大家都接收linux26。

经过查阅安装文书档案,大家得以很理解的观察要编译haproxy,我们第大器晚成要明了OS内核版本以至OS的位数。如下:

uname –a

透过上图,大家得以相当的轻易的看见linux内核的本子与OS的位数。

以后开班编写翻译haproxy,如下:

make TARGET=linux26 ARCH=x86_64 PREFIX=/usr/local/haproxy

里头TAEnclaveGET表示OS的基本版本,ARCH代表OS的位数,PREFIX表示haprxoy的装置路线。

今天上马设置haproxy,如下:

sudo make install PREFIX=/usr/local/haproxy

翻看安装后的公文,如下:

ll /usr/local/haproxy/

编辑haproxy的陈设文件,haproxy私下认可给我们提供三个布局文件模版。如下:

sudo cp examples/haproxy.cfg /usr/local/haproxy/

查看haprxoy的版本,如下:

/usr/local/haproxy/sbin/haproxy -v

透过上海体育场合,能够看见haproxy的本子确实是1.3.27。有关haproxy的布署实例见第三章。

3.2 apt-get情势安装haproxy

apt-get情势安装haproxy,如下:

sudo apt-get -y install haproxy

翻开haproxy安装的公文

dpkg -L haproxy

设置收尾后,haproxy暗许已经运转。如下:

ps -ef |grep haproxy

查看haproxy版本,如下:

haproxy -v

通过上海体育场所,大家知道今后haproxy的本子为1.5.4。

只顾:apt-get情势安装haproxy,假诺版本为1.4.24的话。我们自然要更正/etc/default/haproxy,如下:

sudo vi /etc/default/haproxy

ENABLED=1

要是不改变的话,使用haproxy运维脚本的话,是一贯不用途的,也就说脚本不会另行加载haproxy的布署。

翻开haproxy的布署文件,如下:

cat /etc/haproxy/haproxy.cfg

经过上海教室,我们得以很分明的收看暗许的铺排文件之中是平素不内容的。

四、配置haprxoy

haproxy安装实现后,大家来配置haproxy。源码安装的haprxoy在日前大家早已批注了,haproxy提供的计划模版haproxy.cfg。

4.1、haproxy配置实例

大家几如今就以这么些模版为例,配置haproxy。haproxy配置文件内容,如下:

grep -vE "^#|^$" haproxy.cfg

global

log 127.0.0.1 local0

log 127.0.0.1 local1 notice

maxconn 4096

uid 1005

gid 1005

daemon

defaults

log global

mode http

option httplog

option dontlognull

retries 3

option redispatch

maxconn 2000

contimeout 5000

clitimeout 50000

srvtimeout 50000

listen admin_stats

bind 192.168.5.171:1080

mode http

option httplog

maxconn 10

stats refresh 30s

stats uri /stats

stats auth admin:admin

stats hide-version

frontend weblb

bind *:80

acl is_dg hdr_beg(host) dg.test.com

acl is_ilanni hdr_beg(host) ilanni.test.com

acl is_171 hdr_beg(host) 192.168.5.171

acl is_ip src 192.168.5.140

use_backend acl if is_171 is_ip

use_backend dgserver if is_dg

use_backend ilanni if is_ilanni

use_backend 171server if is_171

default_backend backend_default

backend dgserver

balance source

server web1 192.168.5.171:8080 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3

server web2 192.168.5.174:8080 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3

server web3 192.168.5.178:8080 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3

backend 171server

balance roundrobin

server dg1 192.168.5.174:80 check

server dg2 192.168.5.178:80 check

backend ilanni

server web1 www.yuanbaopu.com:80 weight 3 check inter 2000 rise 2 fall 3

backend acl

balance source

server web1 www.ilanni.com:80 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3

backend backend_default

server web1 192.168.5.178:8080 weight 3 check inter 2000 rise 2 fall 3

listen 8090

bind 0.0.0.0:8090

mode http

balance roundrobin

server web1 192.168.5.174:8090 maxconn 1024 weight 5 check inter 2000 rise 2 fall 3

server web2 192.168.5.178:8090 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3

4.2、haproxy配置实例讲授

至于haproxy配置文件我们先简要介绍,如下:

global配置段,用于设定全局配置参数。

代理配置段中,首假如接收defaults、frontend、backend、listen关键词。

defaults配置段用于为全部此外配置段提供暗中认可参数,那配置私下认可配置参数可由下八个“defaults”所重新设定。

frontend配置段用于定义大器晚成密密层层监听的套接字,这么些套接字可选取顾客端诉求并与之创立连接。

backend配置段用于定义生龙活虎多种“后端”服务器,代理将会将对应客商端的乞请转载至这一个服务器。

listen配置段通过涉及“前端”和“后端”定义了叁个完全的代理,日常只对TCP流量有用。

在上述haproxy配置文件中,大家任重(英文名:rèn zhòng卡塔 尔(阿拉伯语:قطر‎而道远解说ACL的合营准则。

acl is_dg hdr_beg(host) dg.test.com

该行定义二个is_dg准则,假使客户端伏乞的是dg.test.com那么些域名,则定义该法则为is_dg。

use_backend dgserver if is_dg

该定义四个dgserver服务器组,即使顾客端诉求相符is_dg定义的法则,则把该顾客端的央求分发到dgserver服务器组。

acl is_ip src 192.168.5.140

该行定义一个is_ip法规,若是顾客端的IP地址是192.168.5.140,则定义该法则为is_ip。

use_backend acl if is_171 is_ip

该定义一个acl服务器组,借使顾客端伏乞同一时候切合is_ip和is_171定义的平整,则把该顾客端的伸手分发到acl服务器组。

default_backend backend_default

该行定义贰个暗中同意服务器组,要是客户端央求不适合上述定义的别的二个法规,则把该顾客端的伸手分发到backend_default服务器组。

任何的规规矩矩就不朝气蓬勃生龙活虎举办教学了。

以上就是遵照近些日子的事务须求,配置的haproxy。有关那个配置项参数,大家会在下风华正茂篇小说中打开详尽介绍。

五、查看haproxy监察和控制页面

haproxy配置完成后,现在来运转haproxy,使用如下命令:

/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg

ps -ef |grep haproxy

netstat -tunlp|grep 3173

当今大家来开荒haproxy的督查页面,如下:

输入客商名和密码后,haproxy监察和控制后台服务器的事态,如下:

现在我们来探问haprxoy全部后台服务器的情景,先来拜会dgserver组,如下:

通过上海体育场面,大家得以见见dgserver组,前段时间web1那台服务器处于宕机状态。也正是说haprxoy不会把顾客端的倡议分发到web1服务器上了。

当今大家再来看看171server组,如下:

经过上海教室,大家得以很驾驭的见到171server组的服务器近期都以健康运营的。

8090组服务器的景观,如下:

通过上航海用体育场所,大家得以看见8090组的服务器也可能有生机勃勃台是宕机的。

六、测量试验haproxy负载均衡

haprxoy配置达成并不荒谬运营后,我们前几天来根据作业的渴求进行测量检验。

6.1 测验域名跳转

使用如下命令测量检验域名跳转:

curl

由此上图,我们能够看出当大家运用dg.test.com那么些域名访谈时,haproxy确实为我们开展跳转了,而且跳转到了192.168.5.174那台服务器上。

因为思忖到客商端session会话的难题,所以大家在陈设haproxy负载均衡未有运用roundrobin轮询的秘籍,而是利用source方法。所以haproxy这几天并没有把央浼分发到192.168.5.171:8080、192.168.5.178:8080这两台服务器上。

明天我们访谈ilanni.test.com,如下:

经过上海教室,大家得以看看访谈区别的域名,haproxy把供给分发到不一样的服务器上。

6.2 测量试验IP地址跳转

选用如下命令测试IP地址跳转:

curl

经过上海教室,大家能够很鲜明的观察,第一次选择curl

因为在haproxy配置中,大家采纳的是roundrobin轮询方法,所以用户端的每三遍呼吁,haproxy会把诉求分发到分歧的服务器上。

6.3 测验端口跳转

应用如下命令测量检验IP地址跳转:

curl

curl

经过上海教室,大家得以很了解的看来客户端在通过dg.test.com:8090和ilanni.test.com:8090进展拜候时,haproxy确实把须要分发到了8090组服务器上的192.168.5.178:8090上。

6.4 测量试验默许跳转

要测量检验私下认可跳转,大家能够不管采取贰个域名进行测验。如下:

curl

透过上海体育场所,我们能够很明朗的观察haproxy把test.test.com的倡议转发到了默许服务器组的192.168.5.178:8080上。

6.5 测试多ACL匹配

要测验暗中同意跳转,大家先切换来192.168.5.140那台机器上,然后访问

透过上海体育场地,我们得以很鲜明的观看在192.168.5.171那台机器上访谈

七、centos安装haproxy

至于在centos上设置haproxy,大家在这里就相当的少做牵线了。只把相关的操作命令贴出来。

yum情势安装:yum -y install haproxy

源码格局安装:

useradd haproxy

cat /etc/passwd |grep haproxy

uname –a

yum -y install gcc make

wget

tar -xf haproxy-1.3.27.tar.gz

cd haproxy-1.3.27

make TARGET=linux26 ARCH=x86_64 PREFIX=/usr/local/haproxy

make install PREFIX=/usr/local/haproxy

本文由秀依林枫 提供友情赞助,首发于烂泥行天下 有关高负载均衡的软件,目...

说明:

haproxy服务器IP:172.16.253.200/16 (外网)、192.168.29.140/24(内网)
博客服务器组IP:192.168.29.130/24、192.168.29.131/24
网站服务器组IP:192.168.29.120/24、192.168.29.121/24
默认服务器组IP:192.168.29.110/24、192.168.29.111/24

二、HAProxy与LVS的异同

通过事先随笔的牵线,大家应该基本清楚了HAProxy负载均衡与LVS负载均衡的得失和异同了。下边就那三种负载均衡软件的纠纷做三个简短总括:
1卡塔 尔(英语:State of Qatar)两个都以软件负载均衡产物,然则LVS是基于Linux操作系统实现的风姿罗曼蒂克种软负载均衡,而HAProxy是依靠第三应用实现的软负载均衡。
2卡塔尔LVS是根据四层的IP负载均衡技能,而HAProxy是依赖四层和七层技艺、可提供TCP和HTTP应用的负载均衡综合施工方案。
3卡塔 尔(阿拉伯语:قطر‎LVS专业在ISO模型的第四层,由此其情景监测作用单生龙活虎,而HAProxy在状态监测地点功用强盛,可支撑端口、U奥德赛L、脚本等各类动静检查实验方法。
4卡塔 尔(英语:State of Qatar)HAProxy即便效率强盛,不过总体管理质量低于四层形式的LVS负载均衡,而LVS具备近乎硬件道具的互联网吞吐和延续负载手艺。
综述,HAProxy和LVS齐轨连辔点,未有汉贼不两立,要筛选哪个作为负载均衡器,要以实际的应用遇到来决定。

1.1、haproxy原理

生机勃勃 HAProxy主机配置

[root@local ~]# yum install haproxy -y
[root@local ~]# vim   /etc/haproxy/haproxy.cfg

三、快速安装HAProxy集群软件

yum install haproxy

文本贮存地方:

/usr/sbin/haproxy  #二进制文件
/usr/share/haproxy  #分享文件
/var/lib/haproxy  #库文件
/etc/rc.d/init.d/haproxy  #起步二进制文件
/etc/logrotate.d/haproxy  #日志切割
/etc/sysconfig/haproxy   #配置
/etc/haproxy  #配置目录

安装实现后,默许安装目录中尚无安插文件,这里是将源码包里面包车型客车示范配置文件拷贝到配置文件目录
那般,HAProxy就设置到位了。

haproxy提供高可用性、负载均衡以至基于TCP(第四层)和HTTP(第七层卡塔尔应用的代办,帮忙设想主机,它是无偿、快速而且可信的生龙活虎种缓和方案。

1 global部分

用来设定全局配置参数,归于进程级的配备,平常和操作系统配置有关。

global
    log         127.0.0.1 local2 info       ##全局日志配置,local2为日志设备,info为日志级别
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid        ##指定HAProxy进程的Pid文件,启动进程的用户必须有访问次文件的权限
    maxconn     4000        ##设定每个进程可接受的最大并发连接数
    user        haproxy     ##设置运行haproxy进程的用户,可使用UID代替
    group       haproxy     ##设置运行haproxy进程的组,可使用GID代替
    daemon          ##设置haproxy进程进入后台运行

stats socket /var/lib/haproxy/stats

四、HAProxy底蕴配置文件安详严整

HAProxy配置文件借助效益和用场,首要有5个部分构成,但多少部分并非必需的,能够借助必要选用相应的片段进行布置。
(1)global部分
用来设定全局配置参数,归属进程级的陈设,日常和操作系统配置有关。
(2)defaults部分
暗中认可参数的铺排部分。在这部分设置的参数值,默许会自动被引用到下边包车型客车frontend、backend和listen部分中,由此,若是有些参数归于公用的配置,只需在defaults部分加多壹次就可以。而大器晚成旦在frontend、backend和listen部分中也安插了与defaults部分相通的参数,那么defaults部分参数对应的值自动被隐讳。
(3)frontend部分
此部分用来安装选取客户央浼的前端虚构节点。frontend是在HAProxy1.3版本之后才引入的三个零器件,相同的时间引进的还会有backend组件。通过引进这么些组件,在相当的大程度上简化了HAProxy配置文件的复杂性。frontend能够依据ACL准则直接钦赐要使用的后端backend。
(4)backend部分
此部分用以安装集群后端服务集群的安插,也正是用来增多风姿洒脱组真实服务器,以管理前端客户的伸手。增添的真实性服务器肖似于LVS中的real server节点。
(5)listen部分
此部分是frontend部分和backend部分的结合体。在HAProxy1.3版本从前,HAProxy的具备配置选项都在此个部分中装置。为了保持宽容性,HAProxy新的本子依然保留了listen组件的布置情势。近些日子在HAProxy中,三种配备方式任选其风度翩翩就能够。

上面是三个完完全全的HAProxy配置文件

global
log 127.0.0.1 local0 info
maxconn 4096
user nobody
澳门新浦京娱乐场网站高负载均衡学习haproxy之安装与配置,HAproxy部署配置。group nobody
daemon
nbproc 1
pidfile /usr/local/haproxy/logs/haproxy.pid

defaults
mode http
retries 3
timeout connect 10s
timeout client 20s
timeout server 30s
timeout check 5s

frontend www
bind *:80
mode http
option httplog
option forwardfor
option httpclose
log global
#acl host_www hdr_dom(host) -i www.zb.com
#acl host_img hdr_dom(host) -i img.zb.com
#use_backend htmpool if host_www
#use_backend imgpool if host_img
default_backend htmpool

backend htmpool
mode http
option redispatch
option abortonclose
balance static-rr
cookie SERVERID
option httpchk GET /index.jsp
server 237server 192.168.81.237:8080 cookie server1 weight 6 check inter 2000 rise 2 fall 3
server iivey234 192.168.81.234:8080 cookie server2 weight 3 check inter 2000 rise 2 fall 3

backend imgpool
mode http
option redispatch
option abortonclose
balance static-rr
cookie SERVERID
option httpchk GET /index.jsp
server host236 192.168.81.236:8080 cookie server1 weight 6 check inter 2000 rise 2 fall 3

listen admin_stats
bind 0.0.0.0:9188
mode http
log 127.0.0.1 local0 err
stats refresh 30s
stats uri /haproxy-status
stats realm welcome login Haproxy
stats auth admin:admin~!@
stats hide-version
stats admin if TRUE

haproxy特别适用于那多少个负载极其大的web站点,那些站点经常又要求会话保持或七层管理。haproxy运营在那个时候此刻的硬件上,完全能够支撑多元的产出连接,而且它的周转情势使得它能够异常的粗略安全的整合进你当前的架构中,同期能够有限支撑你的web服务器不被暴光到网络上。

2 default部分

暗许参数的安排部分。在次部事务陈设的参数值,暗中认可会自动引用到上面frontend、backend、listen部分中,由此,如若有些参数归于公共的配置,只需在default部分增多一回就可以。而意气风发旦在frontend、backend、和listen部分也布署了与default部分雷同的参数,那么default部分的参数对应的值自动被掩瞒。

defaults
    mode                    http        ##设置haproxy实例默认运行模式,有tcp、http、health三个值
    log                     global      ##
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3           ##设置后端服务器的失败重试次数
    timeout http-request    10s     ##
    timeout queue           1m
    timeout connect         5s
    timeout client          10s     ##设置连接客户端发送数据时的最长等待时间,默认单位为毫秒
    timeout server          10s     ##设置服务器端回应客户端数据发送的最长等待时间,默认单位为毫秒
    timeout http-keep-alive 10s ##持久连接的持久时长
    timeout check           2s      ##设置对后端服务器的监测超时时间,默认单位为毫秒
maxconn                 3000

五、运营与测量检验Haproxy的总管均效用

service haproxy
Usage: /etc/init.d/haproxy {start|stop|status|restart|try-restart|reload|force-reload}

启动haproxy

service haproxy start

停止haproxy

service haproxy stop

平整重启

service haproxy reload

 

haproxy实现了意气风发种事件驱动、单风度翩翩进度模型,此模型支撑特别大的并发连接数。多进度或二十三十二线程模型受内部存款和储蓄器限定、系统调治器节制甚至无处不在的锁约束,超少能处理数千并发连接。

3 listen部分

此部分是frontend和backend部分的结合体

listen  admin_stats
    bind    0.0.0.0:19088           ##设置监控统计页面的监听的IP和端口
    mode    http
    log 127.0.0.1 local2 err
    stats   refresh 30s         ##设置哈haproxy监控统计页面的自动刷新时间
    stats   uri /haproxy-status ##设置haproxy监控统计页面的URL路径,可随意指定,例如“stats uri  /haproxy-status”,就可以通过http://IP:PORT//haproxy-status查看
    stats   realm   welcome login Haproxy      ##设置登录haproxy统计页面是密码框上的提示信息
    stats   auth    admin:admin     ##设置登录统计页面的用户名和密码,可同时设置多个,每行一个
    stats   hide-version            ##用来隐藏统计页面上haproxy的版本信息
    stats   admin   if  TRUE        ##通过设置此选项,可以在监控页面上手工启动或者禁用后端服务器

六、HAProxy负载均衡器算法与使用技术

1、HAProxy帮助的载重均衡算法
(1卡塔尔国、roundrobin,表示轻便的轮询,负载均衡底工算法
(2卡塔尔、static-rr,表示依照权重
(3卡塔尔、leastconn,表示起码连接者先拍卖
(4卡塔尔、source,表示依照须求源IP
(5卡塔尔国、uri,表示依照须要的U哈弗I;
(6)、url_param,表示依据央求的U奥迪Q7l参数来进行调解
(7卡塔尔、hdr(name),表示根据HTTP须求头来锁定每二遍HTTP必要;
(8卡塔尔、rdp-cookie(name),表示依据据cookie(name)来锁定并哈希每趟TCP央浼。

2、常用的负荷均衡算法

(1卡塔 尔(英语:State of Qatar)轮询算法:roundrobin
(2卡塔 尔(英语:State of Qatar)依照伏乞源IP算法:source
(3卡塔尔国起码连接者先管理算法:lestconn

事件驱动模型因为在有越来越好的能源和岁月管理的顾客端(User-Space)达成全体那一个职务,所以未有那几个主题素材。此模型的坏处是,在多核系统上,这个程序经常扩充性比较差。那正是干吗他们一定要开展优化以使每种CPU时间片(Cycle)做愈来愈多的劳作。

4 frontend部分

此部分用以安装选择客户央求的前端设想节点。frontend可以依赖ACL准则直接内定要动用的后端backend。
(1)frontend部分

frontend  www
    bind    *:80        ##此选项只能在frontend和listen部分使用,用于定义一个或多个监听的套接字。格式为:bind  [<address>:<port_range>]  interface   <interface>
    mode    http        ##实例的运行模式
    option  httplog     ##启用日志记录http请求。默认haproxy日志不记录http请求
    option  forwardfor  ##在由haproxy发往后端主机的请求报文中添加“X-Forwarded-For”首部,其值前端客户端的地址;用于向后端主发送真实的客户端IP 
    option  httpclose   ##次选项表示在客户端和服务器端完成一次连接请求后,haproxy自动关闭此TCP连接
    log global      ##表示使用全局的日志级别,引用global部分定义的log配置

(2卡塔尔国通过haproxy的ACL准则实现智能负载均衡
haproxy通过ACL完结四个关键的成效:

    1)通过设置ACL的规则检查客户端请求是否合法。如果符合ACL规则要求,那么将放行,如果不符合规则,则直接中断请求。
    2)符合ACL规则要求的请求将被提交到后端的backend服务器集群,进而实现基于ACL规则的负载均衡
    3)haproxy的ACL规则通常用在frontend部分中

格式为:acl 自定义的acl名称 acl方法 -i [ 相称的渠道或文件]

    acl:为关键字,表示定义ACL规则的开始,后面跟上自定义的ACL名称。
    acl方法:这个字段定义ACL的方法,haproxy定义了很多ACL方法,常用的有hdr_reg(host)、hdr_dom(host)、hdr_beg(host)、url_sub、url_dir、path_beg、path_end等
    -i:表示不区分大小写,后面跟上要匹配的路径、文件或正则表达式。
    说明:与ACL规则一起使用的haproxy参数还有use_backend,use_backend  后面跟实例名,表示在满足ACL规则后去哪里请求哪个backend实例
    acl host_www    hdr_reg(host) -i  ^(www.tb.com|tb.com)  ##正则表达式匹配,表示如果开都有www.tb.com或tb.com 
    acl host_blog   hdr_beg(host) -i blog.          ##表示如果前缀包含blog.字符,则匹配
    use_backend server_www if host_www      ##表示如果满足host_www 则去请求后端的server_www主机
    use_backend server_blog if host_blog
    default_backend server_default      ##表示如果前面都不匹配,则去请求server_default主机

七、通过HAProxy的ACL准则完成智能负载均衡

是因为HAProxy能够干活在七层模型下, 因而,要达成HAProxy的强盛功能,必需求利用苍劲灵活的ACL准则,通过ACL准绳可以完毕基于HAProxy的智能负载均衡系统。HAProxy通过ACL法规完毕二种重视的职能,分别是:
1卡塔尔国通过安装的ACL准绳检查客户端须求是或不是合法。借使切合ACL法规必要,那么就将放行,反正,要是不符合法规,则从来中断恳求。
2卡塔尔符合ACL准则必要的需要将被交付到后端的backend服务器集群,进而实现基于ACL准则的负载均衡。

HAProxy中的ACL准则平日使用在frontend段中,使用方法如下:
1acl 自定义的acl名称 acl方法 -i [同盟的门径或文件]
其中:
acl:是七个至关主要字,表示定义ACL法则的始发。前边须求跟上自定义的ACL名称 。
acl方法:这些字段用来定义完成ACL的方法,HAProxy定义了众多ACL方法,平日接纳的法子有hdr_reg(host)、hdr_dom(host)、hdr_beg(host)、url_sub、url_dir、path_beg、path_end等。
-i:表示忽视大小写,后边须要跟上十一分的不二秘籍或文件或正则表达式。
与ACL准绳一齐使用的HAProxy参数还会有use_backend,use_backend后边供给跟上二个backend实例名,表示在满意ACL准则后去央浼哪个backend实例,与use_backend对应的还会有default_backend参数,它表示在并未有满意ACL条件的时候默许使用哪个后端backend。
下边列举多少个不闻不问的ACL准绳例子:
acl www_policy hdr_reg(host) -i ^(www.z.cn|z.cn)
acl bbs_policy hdr_dom(host) -i bbs.z.cn
acl url_policy url_sub -i buy_sid=
use_backend server_www if www_policy
use_backend server_app if url_policy
use_backend server_bbs if bbs_policy
default_backend server_cache

1.2、haproxy的优点

5 backend部分

此部分用于安装后端服务器集群的布局,也是用来增加风华正茂组真实服务器,以拍卖客商端的乞求。

backend server_default      定义后端主机,格式为:backend  SERVER_NAME
    mode    http            ##实例的运行模式
    option  redispatch      ##次参数用于cookie保持的环境中
    option  abortonclose        ##自动结束当前队列中处理时间较长的进程
    balance  roundrobin     ##定义负载均衡算法,roundrobin为加权轮询算法
        cookie  SERVERID        ##表示允许向cookie中插入SERVERID
    option httpchk GET /check_status.html   ##启用http的服务监测功能,采用GET方式,通过监测check_status,html页面的状态来确定服务器的状态
    server default1 192.168.29.110:80 cookie default1 weight 2 check inter 2000 rise 2 fall 3   
    server default2 192.168.29.111:80 cookie default2 weight 2 check inter 2000 rise 2 fall 3   

定义后端主机,格式为:server  <name>  <address>[:port]  [param*]

    param为一系列参数,
    cookie为当前server指定其cookie值,用于实现基于cookie的会话黏性
    weight 设置后端服务器的权重,
    check表示启用后端服务器执行健康状态监测,
    rise设置从故障状态转换到正常状态需要成功检查的次数,
    fall设置后端服务器从从正常状态转换为不可以状态需要检查的次数
    disabled:标记为不可用;
    redir <prefix>:将发往此server的所有GET和HEAD类的请求重定向至指定的URL

backend server_www
    mode    http
    option  redispatch
    option  abortonclose
    balance source      ##定义负载均衡算法,source为基于源IP 的算法,可以使同一客户端IP的请求始终被转发至某台特定的后端服务器
        cookie  SERVERID    
    option httpchk GET /check_status.jsp
    server www1 192.168.29.120:80 cookie www1 weight 6 check inter 2000 rise 2 fall 3
    server www2 192.168.29.121:80 cookie www2 weight 6 check inter 2000 rise 2 fall 3

backend server_blog
    mode    http
    option  redispatch
    option  abortonclose
    balance roundrobin
        cookie  SERVERID    
    option httpchk GET /check_blog.php
    server blog1 192.168.29.130:80 cookie blog1 weight 5 check inter 2000 rise 2 fall 3
    server blog2 192.168.29.131:80 cookie blog2 weight 5 check inter 2000 rise 2 fall 3

八、使用HAProxy的Web监察和控制平台

HAProxy即使达成了服务的故障转移,不过在主机大概服务现身故障的时候,并不可能生出通报告诉运维职员,那对于及时性必要非常高的事情种类来说,是那些不方便的,可是,HAProxy就像是也设想到了这点,在新的本子中HAProxy推出了四个基于Web的督察平台,通过这些平台能够查阅此集群系统具备后端服务器的运市价况,在后端服务或服务器现身故障时,监察和控制页面会通过差异的水彩来显示故障新闻,那在相当的大程度上消除了后端服务器故障报告急察方的标题,运营职员可经过监督检查这么些页面来第不常间开采节点故障,进而修复故障。

 澳门新浦京娱乐场网站 4

 PS:本文纯属记录个人实施经历,如格外,可任何时候联系本人。QQ505711559

(1卡塔 尔(英语:State of Qatar)免费开源,牢固性也是不行好。单haproxy也跑得对的,稳固性能够与硬件级的F5相抗衡。

二 后端服务器配置

(2卡塔尔国依据官方文书档案,haproxy能够跑满10Gbps,那一个数值作为软件级负载均衡器是风流倜傥对风流浪漫震憾的。

1 暗中同意服务器配置

(1卡塔 尔(英语:State of Qatar)设想主机配置

[root@local ~]# vim /etc/httpd/conf.d/vhost.conf
<VirtualHost 192.168.29.110:80>
        DocumentRoot "/data/web1"
<Directory "/data/web1/">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
</VirtualHost>

(2卡塔 尔(英语:State of Qatar)状态监测页配置

[root@local ~]# echo "This is check_status.page ip:192.168.29.110" > /data/web1/check_status.html

(3卡塔 尔(英语:State of Qatar)私下认可页面配置

[root@local ~]# echo "This is default page ip:192.168.29.110" > /data/web1/index.html

依据上述措施配置192.168.29.111主机

(3卡塔尔国haproxy扶助连接拒绝:因为爱惜叁个连连的开荒的费用是超级低的,有的时候大家很必要约束攻击蠕虫(attack bots卡塔尔国,也正是说约束它们的连年张开进而约束它们的重伤。那个曾经为贰个沦为MiniDDoS攻击的网址开辟了何况已经营救了相当多站点,这么些优点也是其余负载均衡器未有的。

2 网址服务器配置

(1卡塔尔设想主机配置

[root@local ~]# vim /etc/httpd/conf.d/vhost.conf 
<VirtualHost 192.168.29.120:80>
        DocumentRoot "/data/web1"
        ServerName www.tb.com
<Directory "/data/web1/">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
</VirtualHost>

(2卡塔尔状态监测页配置

[root@local ~]# echo "This is check_status page ip:192.168.29.120" > /data/web1/check_status.jsp

(3卡塔 尔(阿拉伯语:قطر‎暗许页面配置

[root@local ~]# echo "This is www page ip:192.168.29.120" > /data/web1/index.html

根据上述措施陈设192.168.29.121主机

(4卡塔尔国haproxy扶助全透西楚理(已具有硬件防火墙的卓著特征卡塔 尔(阿拉伯语:قطر‎:能够用客商端ip地点恐怕此外其余地方来接二连三后端服务器。这些特点仅在linux 2.4/2.6内核打了tcp proxy补丁后才足以利用。那个特点也使得为某特种服务器管理局地流量同一时候又不修改服务器的地点成为大概。

3 博客服务器组

(1卡塔尔国配置虚构主机

[root@local ~]# vim /etc/httpd/conf.d/vhost.conf 
<VirtualHost 192.168.29.130:80>
        DocumentRoot "/data/web1"
        ServerName www.blog.tb.com
<Directory "/data/web1/">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
</VirtualHost>

(2卡塔 尔(阿拉伯语:قطر‎状态监测页配置

[root@local ~]# echo "This is check_status page ip:192.168.29.130" > /data/web1/check_blog.php

(3卡塔 尔(阿拉伯语:قطر‎暗中认可页面配置

[root@local ~]# echo "This is blog page ip:192.168.29.130" > /data/web1/index.html

根据上述措施安顿192.168.29.131主机

(5卡塔尔国haproxy现多于线上的MySQL集群处境,大家常用于它看做MySQL(读卡塔 尔(英语:State of Qatar)负载均衡。

三 测试

(6卡塔尔国自带强盛的监察服务器状态的页面,实际条件中大家构成Nagios进行邮件或短信报告急察方。

1 启动haproxy

[root@local ~]# systemctl start haproxy

(7卡塔 尔(英语:State of Qatar)HAProxy扶持设想主机,多数爱人说它不扶持设想主机是怪诞的,通过测验大家知道,HAProxy是支撑虚拟主机的。

2 测试

(1卡塔尔国访谈网址服务器

[root@local ~]# for i in {1..10} ; do curl www.tb.com ; done
This is www page ip:192.168.29.120
This is www page ip:192.168.29.120
This is www page ip:192.168.29.120
This is www page ip:192.168.29.120
This is www page ip:192.168.29.120
This is www page ip:192.168.29.120
This is www page ip:192.168.29.120
This is www page ip:192.168.29.120
This is www page ip:192.168.29.120
This is www page ip:192.168.29.120

鉴于有会话粘性,全数都以用生龙活虎台服务器响应需要
(2)访问blog服务器

[root@local ~]# for i in {1..10} ; do curl blog.tb.com ; done
This is blog page ip:192.168.29.131
This is blog page ip:192.168.29.130
This is blog page ip:192.168.29.131
This is blog page ip:192.168.29.130
This is blog page ip:192.168.29.131
This is blog page ip:192.168.29.130
This is blog page ip:192.168.29.131
This is blog page ip:192.168.29.130
This is blog page ip:192.168.29.131
This is blog page ip:192.168.29.130

能够见到,轮询算法生效了
(3卡塔尔国测量检验暗中认可服务器

[root@local ~]# for i in {1..10} ; do curl 172.16.253.200 ; done
This is default page ip:192.168.29.110
This is default page ip:192.168.29.111
This is default page ip:192.168.29.110
This is default page ip:192.168.29.111
This is default page ip:192.168.29.110
This is default page ip:192.168.29.111
This is default page ip:192.168.29.110
This is default page ip:192.168.29.111
This is default page ip:192.168.29.110
This is default page ip:192.168.29.111

成功了

PS:此次实验的OS为Ubuntu server 14.04。

3 haproxy情况监测页面

(1)输入
(2卡塔 尔(英语:State of Qatar)输入顾客名密码
澳门新浦京娱乐场网站 5

(3卡塔尔国登入成功

澳门新浦京娱乐场网站 6

二、业务架构图

今后我们以实际的事务架构图,来使用haproxy。业务框架结构图如下:

澳门新浦京娱乐场网站 7

这一个是大旨的专门的学问架构图,对外是haproxy那台服务器。近年来暂无伪造haproxy的单点故障难点,那么些标题大家会在世袭的keepalived小说中会实行介绍。

当今必要如下:

2.1、域名跳转

客商端访谈

顾客端访谈

2.2、IP地址跳转

客商端访谈

2.3、端口跳转

客户端访问

2.4、默许跳转

设若顾客端访问的不是dg.test.com与192.168.5.171,这三个地点的话,要把供给全体散发到192.168.5.178:8080上。

2.5、多ACL匹配

要是客商端的IP是192.168.5.140,同期做客的是

三、安装haproxy

haproxy的官方网址是

haproxy的装置我们能够分成源码方法和apt-get方式。下直面其设置情势开展逐项讲明。

3.1 源码情势安装haproxy

haprxoy前段时间新星的本子为1.6,为了工作的国家长期安定,在这里我们接受的是1.3.15.27那么些版本。

在开展源码安装早先,首先要安装相关的软件库。如下:

sudo apt-get -y install make gcc

澳门新浦京娱乐场网站 8

创制运转haproxy时,使用的客商。在那大家接受haproxy那些客商,何况此顾客无法登入到系统。如下:

sudo useradd -m haproxy

cat /etc/passwd |grep haproxy

澳门新浦京娱乐场网站 9

由此上图,大家得以见见haproxy客户及客户组的ID均为1005。

今后开端下载源码包如下:

wget

解压源码包,如下:

tar -xf haproxy-1.3.15.27.tar.gz

cd haproxy-1.3.15.27/

澳门新浦京娱乐场网站 10

翻看haproxy的安装文件,如下:

more README

澳门新浦京娱乐场网站 11

那张图很分明的告诉大家,编写翻译安装haproxy须求的软件库。除却还索要选取OS的根本版本,linux2.6上述的本子,大家都采用linux26。

澳门新浦京娱乐场网站 12

经过查阅安装文书档案,大家能够很清楚的看来要编写翻译haproxy,我们先是要理解OS内核版本以至OS的位数。如下:

uname –a

澳门新浦京娱乐场网站 13

透过上海体育场所,大家得以相当轻巧的见到linux内核的版本与OS的位数。

后天上马编写翻译haproxy,如下:

make TARGET=linux26 ARCH=x86_64 PREFIX=/usr/local/haproxy

澳门新浦京娱乐场网站 14

中间TA路虎极光GET表示OS的根基版本,ARCH表示OS的位数,PREFIX表示haprxoy的设置路线。

目前开端设置haproxy,如下:

sudo make install PREFIX=/usr/local/haproxy

澳门新浦京娱乐场网站 15

查阅安装后的文件,如下:

ll /usr/local/haproxy/

澳门新浦京娱乐场网站 16

编写haproxy的布局文件,haproxy私下认可给我们提供二个布置文件模版。如下:

sudo cp examples/haproxy.cfg /usr/local/haproxy/

澳门新浦京娱乐场网站 17

查看haprxoy的版本,如下:

/usr/local/haproxy/sbin/haproxy -v

澳门新浦京娱乐场网站 18

因此上海体育场所,能够看见haproxy的版本确实是1.3.27。有关haproxy的安顿实例见第三章。

3.2 apt-get方式安装haproxy

apt-get方式安装haproxy,如下:

sudo apt-get -y install haproxy

澳门新浦京娱乐场网站 19

翻看haproxy安装的文件

dpkg -L haproxy

澳门新浦京娱乐场网站 20

安装完毕后,haproxy暗许已经运转。如下:

ps -ef |grep haproxy

澳门新浦京娱乐场网站 21

查看haproxy版本,如下:

haproxy -v

澳门新浦京娱乐场网站 22

经过上图,大家明白今后haproxy的版本为1.5.4。

留意:apt-get方式安装haproxy,就算版本为1.4.24的话。大家终将在改过/etc/default/haproxy,如下:

sudo vi /etc/default/haproxy

ENABLED=1

澳门新浦京娱乐场网站 23

如果不修正的话,使用haproxy运维脚本的话,是绝非用途的,也就说脚本不会再次加载haproxy的安顿。

翻看haproxy的配置文件,如下:

cat /etc/haproxy/haproxy.cfg

澳门新浦京娱乐场网站 24

透过上海体育场地,大家能够很分明的观察暗中认可的布局文件之中是绝非内容的。

四、配置haprxoy

haproxy安装收尾后,我们来安顿haproxy。源码安装的haprxoy在前方大家已经批注了,haproxy提供的布局模版haproxy.cfg。

4.1、haproxy配置实例

作者们今后就以那一个模版为例,配置haproxy。haproxy配置文件内容,如下:

grep -vE "^#|^$" haproxy.cfg

global

log 127.0.0.1 local0

log 127.0.0.1 local1 notice

maxconn 4096

uid 1005

gid 1005

daemon

defaults

log global

mode http

option httplog

option dontlognull

retries 3

option redispatch

maxconn 2000

contimeout 5000

clitimeout 50000

srvtimeout 50000

listen admin_stats

bind 192.168.5.171:1080

mode http

option httplog

maxconn 10

stats refresh 30s

stats uri /stats

stats auth admin:admin

澳门新浦京娱乐场网站,stats hide-version

frontend weblb

bind *:80

acl is_dg hdr_beg(host) dg.test.com

acl is_ilanni hdr_beg(host) ilanni.test.com

acl is_171 hdr_beg(host) 192.168.5.171

acl is_ip src 192.168.5.140

use_backend acl if is_171 is_ip

use_backend dgserver if is_dg

use_backend ilanni if is_ilanni

use_backend 171server if is_171

default_backend backend_default

backend dgserver

balance source

server web1 192.168.5.171:8080 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3

server web2 192.168.5.174:8080 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3

server web3 192.168.5.178:8080 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3

backend 171server

balance roundrobin

server dg1 192.168.5.174:80 check

server dg2 192.168.5.178:80 check

backend ilanni

server web1 www.yuanbaopu.com:80 weight 3 check inter 2000 rise 2 fall 3

backend acl

balance source

server web1 www.ilanni.com:80 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3

backend backend_default

server web1 192.168.5.178:8080 weight 3 check inter 2000 rise 2 fall 3

listen 8090

bind 0.0.0.0:8090

mode http

balance roundrobin

server web1 192.168.5.174:8090 maxconn 1024 weight 5 check inter 2000 rise 2 fall 3

server web2 192.168.5.178:8090 maxconn 1024 weight 3 check inter 2000 rise 2 fall 3

澳门新浦京娱乐场网站 25

澳门新浦京娱乐场网站 26

4.2、haproxy配置实例解说

关于haproxy配置文件大家先简介,如下:

global配置段,用于设定全局配置参数。

代办配置段中,首若是应用defaults、frontend、backend、listen关键词。

defaults配置段用于为全数任何配置段提供暗许参数,那配置默许配置参数可由下一个“defaults”所重新设定。

frontend配置段用于定义豆蔻梢头层层监听的套接字,那几个套接字可担负顾客端央求并与之建立连接。

backend配置段用于定义一五花八门“后端”服务器,代理将会将对应客商端的倡议转载至那么些服务器。

listen配置段通过关系“前端”和“后端”定义了三个完完全全的代办,日常只对TCP流量有用。

在上述haproxy配置文件中,大家最主要解说ACL的十一分法则。

acl is_dg hdr_beg(host) dg.test.com

该行定义一个is_dg法规,假诺顾客端乞求的是dg.test.com这一个域名,则定义该准则为is_dg。

use_backend dgserver if is_dg

该定义一个dgserver服务器组,要是客商端央求相符is_dg定义的平整,则把该客商端的伸手分发到dgserver服务器组。

acl is_ip src 192.168.5.140

该行定义多个is_ip准则,要是顾客端的IP地址是192.168.5.140,则定义该法则为is_ip。

use_backend acl if is_171 is_ip

该定义一个acl服务器组,即使顾客端乞请同期合乎is_ip和is_171定义的规行矩步,则把该客商端的乞请分发到acl服务器组。

default_backend backend_default

该行定义叁个暗中认可服务器组,倘使顾客端诉求不切合上述定义的此外三个平整,则把该顾客端的乞请分发到backend_default服务器组。

别的的平整就不风度翩翩后生可畏举办教学了。

上述便是绳趋尺步近年来的业务供给,配置的haproxy。有关那么些布署项参数,大家会在下豆蔻年华篇文章中开展详尽介绍。

五、查看haproxy监察和控制页面

haproxy配置完结后,现在来运转haproxy,使用如下命令:

/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg

ps -ef |grep haproxy

netstat -tunlp|grep 3173

澳门新浦京娱乐场网站 27

最近大家来开荒haproxy的监察页面,如下:

澳门新浦京娱乐场网站 28

输入客商名和密码后,haproxy监察和控制后台服务器的动静,如下:

澳门新浦京娱乐场网站 29

今昔大家来拜谒haprxoy全体后台服务器的情状,先来探视dgserver组,如下:

澳门新浦京娱乐场网站 30

透过上海教室,大家能够看来dgserver组,方今web1那台服务器处于宕机状态。也等于说haprxoy不会把客商端的央求分发到web1服务器上了。

以后我们再来看看171server组,如下:

澳门新浦京娱乐场网站 31

透过上航海用体育场地,大家得以很明朗的来看171server组的服务器最近都以例行运作的。

8090组服务器的情事,如下:

澳门新浦京娱乐场网站 32

经过上海图书馆,大家能够见见8090组的服务器也可能有生机勃勃台是宕机的。

六、测量试验haproxy负载均衡

haprxoy配置完结并正常运转后,大家前几日来依据工作的渴求开展测验。

6.1 测验域名跳转

应用如下命令测量试验域名跳转:

curl

澳门新浦京娱乐场网站 33

澳门新浦京娱乐场网站 34

经过上海体育场地,大家得以观看当我们使用dg.test.com那个域名访谈时,haproxy确实为我们开展跳转了,并且跳转到了192.168.5.174那台服务器上。

因为盘算到客商端session对话的难题,所以大家在配置haproxy负载均衡未有采纳roundrobin轮询的方法,而是使用source方法。所以haproxy这两天并未有把央求分发到192.168.5.171:8080、192.168.5.178:8080这两台服务器上。

明日我们拜望ilanni.test.com,如下:

澳门新浦京娱乐场网站 35

通过上海体育场所,我们可以见见访问差异的域名,haproxy把央求分发到分化的服务器上。

6.2 测验IP地址跳转

动用如下命令测量试验IP地址跳转:

curl

澳门新浦京娱乐场网站 36

经过上海教室,大家能够很显明的观望,第二回选择curl

因为在haproxy配置中,大家利用的是roundrobin轮询方法,所以客商端的每一趟呼吁,haproxy会把诉求分发到区别的服务器上。

6.3 测量检验端口跳转

行使如下命令测量试验IP地址跳转:

curl

curl

澳门新浦京娱乐场网站 37

经过上航海用体育场所,大家得以很醒目标看看客商端在通过dg.test.com:8090和ilanni.test.com:8090进展会见时,haproxy确实把央求分发到了8090组服务器上的192.168.5.178:8090上。

6.4 测验暗中认可跳转

要测量试验默许跳转,我们能够随意接纳二个域名进行测量检验。如下:

curl

澳门新浦京娱乐场网站 38

透过上海体育地方,大家可以很精晓的见到haproxy把test.test.com的倡议转载到了暗许服务器组的192.168.5.178:8080上。

6.5 测试多ACL匹配

要测验暗中同意跳转,我们先切换成192.168.5.140那台机器上,然后访谈

澳门新浦京娱乐场网站 39

澳门新浦京娱乐场网站 40

因此上海教室,大家得以很显然的见到在192.168.5.171那台机器上访谈

本文由澳门新浦京娱乐场网站发布于澳门新浦京娱乐场网站,转载请注明出处:澳门新浦京娱乐场网站高负载均衡学习haproxy之安