1、抗负载本领强

负载均衡之Haproxy配置,负载均衡haproxy

常用开源软件负载均衡器有:Nginx、LVS、Haproxy。
三大主流软件负载均衡器比较(LVS VS Nginx VS Haproxy)

一、LVS:
1、抗负载技艺强。抗负载技巧强、质量高,能完成F5硬件的33.33%;对内部存款和储蓄器和cpu能源消耗非常的低
2、专门的学问在互联网4层,通过vrrp协议转向(仅作分发之用),具体的流量由linux内核管理,由此未有流量的发出。
2、稳固性、可信性好,本身有宏观的热备方案;(如:LVS+Keepalived)
3、应用范围比较广,能够对富有应用做负载均衡;
4、不协理正则处理,不能够做动静分离。
5、帮助负载均衡算法:rr(轮循)、wrr(带权轮循)、lc(最小连接)、wlc(权重最小连接)
6、配置 复杂,对互联网信赖非常大,牢固性极高。

二、Ngnix:
1、专业在网络的7层之上,可以针对http应用做一些分流的战略,比方对准域名、目录结构;
2、Nginx对互联网的依赖一点都不大,理论上能ping通就就会展开负荷功用;
3、Nginx安装和安顿相比轻松,测量试验起来相比方便;
4、也能够承担高的负载压力且平静,一般能援救超越1万次的产出;
5、对后端服务器的健检,只支持通过端口来检查实验,不帮助通过url来检查实验。
6、Nginx对乞请的异步管理能够扶持节点服务器减轻负载;
7、Nginx仅能辅助http、https和Email商业事务,这样就在适用范围不大。
8、不援救Session的一贯保持,但能透过ip_hash来解决。、对Big request
header的支撑不是很好,
9、援助负载均衡算法:Round-robin(轮循)、Weight-round-robin(带权轮循)、Ip-hash(Ip哈希)
10、Nginx还是能够做Web服务器即Cache功能。

三、HAProxy的表征是:
1、补助两种代理方式:TCP(四层)和HTTP(七层),辅助设想主机;
2、可以填补Nginx的部分弱点举个例子Session的维持,Cookie的引导等工作
3、接济url检查测量检验后端的服务器出难题的检验会有很好的帮带。
4、更加多的负载均衡计策比如:动态加权轮循(Dynamic Round
罗布in),加权源地址哈希(Weighted Source
Hash),加权U宝马7系L哈希和加权参数哈希(Weighted Parameter Hash)已经落到实处
5、单纯从效能上来说HAProxy更会比Nginx有更美丽的载重均衡速度。
6、HAProxy能够对Mysql进行负荷均衡,对后端的DB节点进行检查实验和负载均衡。
9、匡助负载均衡算法:Round-robin(轮循)、Weight-round-robin(带权轮循)、source(原地点保持)、凯雷德I(伏乞UEscortL)、rdp-cookie(依照cookie)
10、不能做Web服务器即Cache。

三大主流软件负载均衡器适用业务场景:
1、网址建设早先时期,能够接纳Nigix/HAproxy作为反向代理负载均衡(可能流量相当的小都能够不选拔负载均衡),因为其配备轻巧,质量也能满意一般的作业场景。如果思考到负载均衡器是有单点难点,能够使用Nginx+Keepalived/HAproxy+Keepalived防止负载均衡器本人的单点难题。
2、网址出现达到自然水平之后,为了增长稳固性和转账功效,能够使用LVS、究竟LVS比Nginx/HAproxy要更安定,转载作用也更加高。不过维护LVS对保卫安全职员的要求也会越来越高,投入资金也更加大。

注:Niginx与Haproxy相比较:Niginx援助七层、客商量最大,牢固性比较保险。Haproxy帮助四层和七层,扶助越多的载荷均衡算法,补助session保存等。具体选型看使用情形,目前以来Haproxy由于弥补了部分Niginx的症结客商量也一再在提高。

权衡负载均衡器好坏的多少个根本成分:
1、会话率 :单位时间内的拍卖的呼吁数
2、会话并发技巧:并发管理手艺
3、数据率:处理数量技能
通过合法测量检验总括,haproxy
单位时间管理的最大诉求数为30000个,能够并且爱抚陆仟0-四千0个冒出连接,最大数据管理本事为10Gbps。综合上述,haproxy是性能优越的负荷均衡、反向代理服务器。

小结HAProxy紧要优点:

一、无偿开源,牢固性也是那多个好,那一个可通过自个儿做的部分小项目能够看出来,单Haproxy也跑得没有错,牢固性能够与LVS相比美;

二、依照官方文书档案,HAProxy能够跑满10Gbps-New benchmark of HAProxy at 10
Gbps using Myricom’s 10GbE NICs (Myri-10G
PCI-Express),那个作为软件级负载均衡,也是比较惊人的;

三、HAProxy能够看作MySQL、邮件或别的的非web的负荷均衡,大家常用来它当作MySQL(读)负载均衡;

四、自带庞大的监察和控制服务器状态的页面,实际条件中大家结合Nagios进行邮件或短信报告警察方,这几个也是本身十二分欣赏它的案由之一;

五、HAProxy帮忙设想主机。

下述将接纳Haproxy作为负载均衡器实行教学:

此次使用条件:

ubuntu16.04+Haproxy 192.168.93.21
centos6+httpd 192.168.93.5
centos6+httpd 192.168.93.7

Haproxy配置文件

vi /etc/haproxy/haproxy.cfg
global
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin
    stats timeout 30s
    user haproxy
    group haproxy
    daemon

    # Default SSL material locations
    ca-base /etc/ssl/certs
    crt-base /etc/ssl/private

    # Default ciphers to use on SSL-enabled listening sockets.
    # For more information, see ciphers(1SSL). This list is from:
    #  https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
    ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
    ssl-default-bind-options no-sslv3




defaults
    log global
    mode    http   #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
    option  httplog
    option  dontlognull
        timeout connect 5000
        timeout client  50000
        timeout server  50000
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 /etc/haproxy/errors/504.http

########统计页面配置########
listen admin_stats
bind 0.0.0.0:1080 #监听端口
mode http #http的7层模式
option httplog #采用http日志格式
#log 127.0.0.1 local0 err
maxconn 10
stats refresh 30s #统计页面自动刷新时间
stats uri /stats #统计页面url
stats realm XingCloud\ Haproxy #统计页面密码框上提示文本
stats auth admin:admin #统计页面用户名和密码设置
stats hide-version #隐藏统计页面上HAProxy的版本信息


########test配置#################
listen test
bind 0.0.0.0:8080 #注意端口号要不低于1024
mode tcp
#maxconn 4086
#log 127.0.0.1 local0 debug
server s1 192.168.93.5:80
server s2 192.168.93.7:80

假使想拜访监察和控制分界面:配置stats uri /haproxy项,重启服务:

service haproxy restart

接下去对Haproxy+web负载均衡使用举办实战讲解:
率先配置两台web服务器:192.168.93.5/192.168.93.7
两台都以一律操作:

1、实验情况

CentOS release 6.8 (Final)

2、配置web服务器(node5/7):

测量试验方便,关闭selinux、关闭iptables

弹指间都施用私下认可,不做布署就能够。

yum install httpd -y

# vim /etc/httpd/conf/httpd.conf 

httpd监听端口:

DocumentRoot:网页贮存的门径,文书档案的根目录

重启httpd

#service httpd restart

修改展现内容:

# vim /var/www/html/index.html

I'm node5!!! My IP is 192.168.93.5...

再度访谈:

如此多少个web服务就搭好了

接下去配置负载均衡(此次试验只用三个Haproxy:192.168.93.21):
vim /etc/haproxy/haproxy.cfg

########test配置#################
listen test
bind 0.0.0.0:8080 #注意端口号要不低于1024
mode tcp
#maxconn 4086
#log 127.0.0.1 local0 debug
server s1 192.168.93.5:80
server s2 192.168.93.7:80

浏览器诉求192.168.93.21:8080

从上述结果可见,前端对192.168.93.21的伸手,被Haproxy的载荷均衡器,均衡恳求到多个后端web192.168.93.5、192.168.93.7上边去了。
那般当两在那之中的三个涌出故障,流量则能不奇怪分发到剩余二个常规的web上,平昔升高了系统可靠性。

相关文章