heshao2005 发表于 2019-1-1 09:58:59

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 cookieapp51 check inter 2000 rise 2 fall 5
   64   server web52 192.168.4.52:80 cookieapp52 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 frontendweblb 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   serverapp101 192.168.4.101:80 check
   85   serverapp102 192.168.4.102:80 check
   86
   87 backend phpg
   88   balance   roundrobin
   89   serverapp103 192.168.4.103:80 check
   90   serverapp104 192.168.4.104:80 check
  

  4、保存配置,重启服务,测试:
  在四台服务器上分别放上test.html和test.php网页文件
  在客户端分别测试,可以得出预期的结果
  


  

  

  

  


  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  




页: [1]
查看完整版本: Haproxy部署网站LB集群