HAProxy实现网站高并发集群

  • 时间:
  • 浏览:1
  • 来源:UU快3直播官网

[root@localhost ~]

13

26

    mode http          

restart)

[root@localhost conf]

1

36

4

2

第三段:后端IP和端口

    gid 99        

}

}

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

#查看服务器情况表

    cookie SERVERID  

    option httplog     

echo "Usage: start|stop|restart"

1

25

echo "Starting Haproxy ..."

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

配置haproxy日志输出

    log global

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

[root@localhosthaproxy-1.4.24]

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

3

21

stop)

local0.*     /var/log/haproxy.log

拓扑图:

11

4

22

启动haproxy

;;

2

    option redispatch  

    maxconn 4096  

配置如下:

start

最后一段:检测十几个 次,认为服务器是不可用的

3

27

case $ARG in

20

    daemon        

29

28

start

    stats refresh 80s          

3

stop

16

5

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

23

    stats auth admin:admin     

12

后端web服务器配置相同

[root@localhost ~]

1

6

23

;;

19

    clitimeout 80000   

[root@localhost haproxy]

重启haproxy

31

kill -9 $(cat $PIDFILE)

[root@localhosthaproxy-1.4.24]

stop

    nbproc 2      

28

defaults

21

5

[root@localhost ~]

18

先了解下HAProxy常用的算法:

start)

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

9

echo "Stopping Haproxy ..."

[root@localhost ~]

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

PIDFILE=/var/run/haproxy.pid

    option httpchk GET /index.html 

22

[root@localhost ~]

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

    contimeout 8000    

9

14

11

    uid 99        

24

[root@localhosthaproxy-1.4.24]

32

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

    timeout check 800         

25

{

24

38

8

2

10

[root@localhost ~]

[root@localhost ~]

26

34

3

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

listen status 0.0.0.0:8080     

listen web_server 0.0.0.0:80   

14

[root@localhost ~]

35

stop()

http://192.168.1.10:8080/haproxy-status

2

{

13

    log 127.0.0.1 local3 err 

2

    log 127.0.0.1 local0  

测试访问http://192.168.1.10,按F5时不时刷新会显示轮训显示web1和web2,模拟web1故障down机,haproxy页面显示的情况表会变成DOWN,能不上还还可以 web2提供服务,当web1恢复一定会自动加入集群中。

1

4

local3.*     /var/log/haproxy.log

19

    srvtimeout 80000   

ARG=$*

18

DIR=/usr/local/haproxy

    option forwardfor  

    balance roundrobin         

20

80

    mode http                  

7

8

ri           #表示根据请求的URI

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

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

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

start()

27

37

1

15

    maxconn 2048       

#设置开机启动

17

    stats hide-version         

    retries 3          

    pidfile /var/run/haproxy.pid

7

3

global

[root@localhost haproxy]

12

    stats uri /haproxy-status  

安装haproxy

2

6

    option httpclose   

4

[root@localhost ~]

15

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

static-rr    #表示根据权重

leastconn    #表示合适连接者先处理

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

1

10

写一有俩个多简单的haproxy服务脚本

;;

[root@localhost ~]

16

17

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

*)

33