HAProxy实现网站高并发集群

  • 时间:
  • 浏览:1
  • 来源:uu直播快3_UU快3直播平台

PIDFILE=/var/run/haproxy.pid

先了解下HAProxy常用的算法:

26

    maxconn 2048       

2

80

9

测试访问http://192.168.1.10,按F5一直刷新会显示轮训显示web1和web2,模拟web1故障down机,haproxy页面显示的请况会变成DOWN,只能web2提供服务,当web1恢复删剪都是自动加入集群中。

31

;;

}

[root@localhosthaproxy-1.4.24]

#查看服务器请况

20

22

35

27

[root@localhost ~]

roundrobin   #表示简单的轮询,每个负载均衡器基本都具备的

static-rr    #表示根据权重

leastconn    #表示为宜连接者先正确处理

source       #表示根据请求源IP, haprox按照客户端的IP地址所有请求都保持在另另有有1个服务器上

1

listen web_server 0.0.0.0:80   

    stats uri /haproxy-status  

18

*)

2

http://192.168.1.10:8080/haproxy-status

13

    option httplog     

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

global

defaults

$DIR/sbin/haproxy -f $DIR/conf/haproxy.cfg

启动haproxy

    mode http                  

[root@localhosthaproxy-1.4.24]

#进入安装目录创建配置文件

    uid 99        

12

项目需求:就让网站规模的扩大,访问量的也太满,另另有有1个的一台机器提供网站服务,出现故障后就中断了网站服务,造成经济损失,现在老板发话要正确处理单点故障,于是你要找了些资料,对比了下Haproxy、LVS、Nginx,是各有各的优点,让我们都 的网站每天的PV也删剪都是很大,就先在虚拟机上做了下测试,仅做Haproxy部分七层负载均衡,生产环境时需Haproxy+keepalived来实现负载均衡器高可用性。

36

4

22

    nbproc 2      

配置如下:

[root@localhost ~]

    pidfile /var/run/haproxy.pid

10

ARG=$*

3

5

21

echo "Stopping Haproxy ..."

2

{

#设置开机启动

    maxconn 4096  

第三段:后端IP和端口

[root@localhost ~]

    srvtimeout 80000   

1

    log 127.0.0.1 local3 err 

16

3

33

11

37

14

第四段:权重值,权重值越大,分配的任务几率越高

[root@localhosthaproxy-1.4.24]

ri           #表示根据请求的URI

rl_param     #表示根据请求的URl参数'balance url_param' requires an URL parameter name

hdr(name)    #表示根据HTTP请求头来锁定每一次HTTP请求

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

26

安装haproxy

7

[root@localhost ~]

10

    contimeout 8000    

[root@localhost haproxy]

stop)

    retries 3          

说明:用server来设置后端服务器

start

27

listen status 0.0.0.0:8080     

    clitimeout 80000   

24

[root@localhost ~]

echo "Starting Haproxy ..."

restart)

19

    balance roundrobin         

1

3

13

15

11

stop()

4

23

DIR=/usr/local/haproxy

20

    mode http          

1

38

32

4

6

start)

[root@localhost ~]

[root@localhost conf]

28

    server web1 192.168.1.11:80 weight 3 check inter 800 fall 3

local0.*     /var/log/haproxy.log

25

    option httpchk GET /index.html 

3

24

7

2

    stats auth admin:admin     

    log global

1

下载:http://haproxy.1wt.eu/

echo "Usage: start|stop|restart"

第二段:haproxy一点人的另另有有1个名称,将在日志中显示

8

stop

[root@localhost haproxy]

后端web服务器配置相同

拓扑图:

配置haproxy日志输出

12

16

3

    timeout check 800         

18

17

    log 127.0.0.1 local0  

case $ARG in

25

start

    gid 99        

15

21

}

23

;;

14

34

[root@localhost ~]

第五段:健康检测,inter 800健康检测间隔是800毫秒

    server web2 192.168.1.12:80 weight 2 check inter 800 fall 3

1

;;

    daemon        

29

local3.*     /var/log/haproxy.log

    option forwardfor  

{

    option redispatch  

2

    option httpclose   

最后一段:检测多少次,认为服务器是不可用的

写另另有有1个简单的haproxy服务脚本

19

[root@localhost ~]

9

2

4

5

[root@localhost ~]

    stats hide-version         

重启haproxy

start()

[root@localhost ~]

    cookie SERVERID  

stop

6

28

8

    stats refresh 80s          

17

kill -9 $(cat $PIDFILE)