Haproxy部署网站LB集群

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Haproxy部署网站LB集群相关的知识,希望对你有一定的参考价值。

前言:lvs和haproxy的区别

lvs:

1、抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生;

2、无流量,保证了均衡器IO的性能不会收到大流量的影响;

3、应用范围比较广,因为LVS工作在4层,所以它几乎可以对所有应用做负载均衡

4、工作稳定,因为其本身抗负载能力很强,自身有完整的双机热备方案,

如LVS+Keepalived,不过我们在项目实施中用得最多的还是LVS/DR+Keepalived。

Haproxy:

1、HAProxy也是支持虚拟主机的

HAProxy跟LVS类似,本身就只是一款负载均衡软件,基于七层;

2、单纯从效率上来讲HAProxy会比nginx有更出色的负载均衡速度,

在并发处理上也是优于Nginx的;

3、HAProxy支持TCP协议的负载均衡转发,

可以对mysql读进行负载均衡,对后端的MySQL节点进行检测和负载均衡


准备工作:

1、准备四台主机:IP地址规划是

4.49,4.50(haproxy),4.51(web),4.52(web)

2、在4.50 上安装haproxy软件,在4.51和4.52上

安装httpd软件


一、普通LB集群

1、修改配置文件:vim /etc/haproxy/haproxy.cfg

把60行以下的内容全部删除,增加下面的内容

            stats                   uri /admin

 60     listen    lbweb         0.0.0.0:80

 61     cookie    SERVERID      rewrite

 62     balance roundrobin

 63     server web51 192.168.4.51:80 cookie  app51 check inter 2000 rise 2 fall 5

 64     server web52 192.168.4.52:80 cookie  app52 check inter 2000 rise 2 fall 5

2、可以去页面查看健康性:http://192.168.4.50/admin

3、测试:停掉其中一台web服务器,去后台查看后台的session会话的次数


二、区分业务的LB集群

1、用四台服务器测试

4.51和4.52做html负载,4.53和4.54做php的负载

2、上面4.51和4.52已经做好了,现在把4.53和4.54做好php的网站

3、修改配置文件:vim /etc/haproxy/haproxy.cfg

 

59     stats      uri    /admin

60 #---------------------------------------------------------------------

61 # main frontend which proxys to the backends

62 #---------------------------------------------------------------------

63 frontend  weblb 192.168.4.100:80

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

65     acl path_html       path_end       -i .html

66     acl path_php        path_end       -i .php

67

68     use_backend htmlg          if path_html

69     use_backend phpg           if path_php

70     default_backend            htmlg

71

72 #---------------------------------------------------------------------

73 # static backend for serving up images, stylesheets and such

74 #---------------------------------------------------------------------

75 #backend static

76 #    balance     roundrobin

77 #    server      static 127.0.0.1:4331 check

78

79 #---------------------------------------------------------------------

80 # round robin balancing between the various backends

81 #---------------------------------------------------------------------

82 backend htmlg

83     balance     roundrobin

84     server  app101 192.168.4.101:80 check

85     server  app102 192.168.4.102:80 check

86

87 backend phpg

88     balance     roundrobin

89     server  app103 192.168.4.103:80 check

90     server  app104 192.168.4.104:80 check


4、保存配置,重启服务,测试:

在四台服务器上分别放上test.html和test.php网页文件

在客户端分别测试,可以得出预期的结果

























以上是关于Haproxy部署网站LB集群的主要内容,如果未能解决你的问题,请参考以下文章

03: HAProxy服务器 Keepalived热备 Keepalived+LVS

CentOS7 haproxy+keepalived实现高可用集群搭建

Haproxy配合Nginx搭建Web集群部署实验

HAProxy负载均衡原理及企业级实例部署haproxy集群

HAProxy负载均衡原理及企业级实例部署haproxy集群

HAProxy负载均衡原理及企业级实例部署haproxy集群