设为首页 收藏本站
查看: 1276|回复: 0

[经验分享] 负载均衡七层 Haproxy

[复制链接]

尚未签到

发表于 2019-1-2 09:09:55 | 显示全部楼层 |阅读模式
  一.HAProxy 介绍
HAProxy
是一个特别适用于高可用性环境TCP/HTTP开源的反向代理负载均衡软件。在7层负载均衡方面的功能很强大(支持cookie track, header rewrite等等),支持双机热备,支持虚拟主机,支持健康检查(通过patch可以支持ECV),同时还提供直观的监控页面,可以清晰实时的监控服务集群运行状况。同时支持Linux2.6内核System Epoll,通过简化系统调用,大幅的提高了网络I/O性能
Ha
proxy包括以下一些特征:
根据静态分配的cookie 分配HTTP请求
分配负载到各个服务器,同时保证服务器通过使用HTTP Cookie实现连接保持;
当主服务器宕机时切换到备份服务器; 允许特殊端口的服务监控;
做维护时通过热配置可以保证业务的连续性,更加人性化;
添加/修改/删除HTTP RequestResponse 头;
通过特定表达式Block HTTP请求;
根据应用cookie做连接保持;
带有用户验证的详细的HTML监控报告;

新的1.3版本引入了frontend,backend配置段,frontend根据任意HTTP请求头内容做规则匹配,然后把请求定向到相关的backend,通过ACL可以实现类似与F5irules的功能。功能非常强大。目前haproxy支持以下5种负载均衡算法,同时也支持通过weight来实现负载比率的调整和通过cookie来实现连接保持。
1.
轮询roundrobin
2.
最少连接数Leastconn
3.
根据源IP source
4.
根据URI uri
5.
根据URL里的参数url_param(根据请求串中的数据hush后做lb,譬如需要一个userid永远在某台服务器上,该策略是静态的)
  二  六台设备如下:
  1 Client:195.168.5.2 GW:192.168.5.1
  2 DGW Director:eth0 192.168.5.1 eth1:172.16.20.102
  3 Realserver: 172.16.20.103 GW:172.16.20.102---------------------------------------------1
  4 Realserver: 172.16.20.104 GW:172.16.20.102---------------------------------------------2
  5 Realserver: 172.16.20.105 GW:172.16.20.102---------------------------------------------3
  6 Realserver: 172.16.20.106 GW:172.16.20.102---------------------------------------------4
  Director:安装haproxy
  vim /etc/haproxy/haproxy.cfg
  -------------------------------------------


  • global

  •     log         127.0.0.1 local2

  •     chroot      /var/lib/haproxy

  •     pidfile     /var/run/haproxy.pid

  •     maxconn     4000

  •     user        haproxy

  •     group       haproxy

  •     daemon


  • defaults

  •     mode        http

  •     log         global

  •     option      dontlognull

  •     option      httpclose

  •     option      httplog

  •     option      forwardfor

  •     option      redispatch

  •     timeout connect 10000 # default 10 second time out if a backend is not found

  •     timeout client 300000

  •     timeout server 300000

  •     maxconn     60000

  •     retries     3

  •     stats enable

  •     stats uri /admin/stats

  •     stats realm "test_123 monitor"

  •     stats auth admin:admin



  • frontend http-in

  •     bind 0.0.0.0:80

  •     mode http

  •     log  global

  •     option httplog

  •     option httpclose

  •     option forwardfor


  •     capture request header Host len 20

  •     capture request header User-Agent len 16

  •     capture request  header Content-Length len 10

  •     capture request  header Referer        len 20

  •     capture response header Content-Length len 10


  •     acl api_php url_reg -i \.php$

  •     acl api_jsp url_reg -i \.jsp$

  •     use_backend apache-server if api_php

  •     use_backend tomcat-server if api_jsp

  •     default_backend apache-server


  • backend apache-server

  •         mode http

  •         balance   roundrobin

  •         server    web1 172.16.20.103:80 weight 3 check

  •         server    web2 172.16.20.105:80 weight 3 check

  •         option    httpchk GET /index.php


  • backend tomcat-server

  •         mode http

  •         balance   roundrobin

  •         server    web3 172.16.20.104:8080 weight 3 check

  •         server    web4 172.16.20.106:8080 weight 3 check

  •         option    httpchk GET /index.jsp

  -----------------------------------------------------------------------
  /etc/init.d/tomcat5 start
  1 3 apache 2 4 tomcat
  yum install httpd -y
  yum install tomcat* -y
  vim /var/www/html/index.php
  vim /usr/share/tomcat5/webapps/ROOT/index.jsp
DSC0000.jpg





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-658512-1-1.html 上篇帖子: 一键安装配置Haproxy 下篇帖子: haproxy实现负载均衡集群
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表