重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多,如LVS和Nginx。相比较而言,LVS性能最好,但是搭建相对复杂,Nginx的upstream模块支持群集功能,但是相对群集节点健康检查功能不强,性能没有Haproxy好,更多的是应用在企业内网环境中。
我们提供的服务有:做网站、成都网站制作、微信公众号开发、网站优化、网站认证、偏关ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的偏关网站制作公司
HAProxy虽然名字前有HA,但它并不是一款高可用软件,而是一款用于实现负载均衡的软件,可实现四层与七层的负载均衡。
上述几个web群集调度器属于软件类型的,还有很多硬件群集调度器,硬件一般使用比较多的是F5,也有很多公司使用国产的一些产品,如梭子鱼、绿盟等。硬件群集调度器有一些比较显而易见的缺点,如果说出问题了,还要需要厂家的技术支持,厂家维护时还需要我们的错误日志,在出现问题到问题解决这段时间,可能一个月的时间都过去了。若是使用软件型的群集调度器,那么只要我们运维人员技术过硬,发现问题到解决问题,很快的。
关于haproxy的常用调度算法,可以参考博文:Haproxy支持的调度算法。
haproxy的详细配置过程和配置日志记录,可以参考博文:keepalived+Haproxy搭建高可用Web群集。
这篇博文不谈如何配置haproxy,主要来聊一下它的配置文件说明以及生产环境中的参数调优。
haproxy的配置文件通常分为三个部分:global、defaults和listen。依次为全局配置、默
认配置、应用组件配置。
global配置:
global log 127.0.0.1 local #配置日志记录,local0为日志设备,默认存放到系统日志 log 127.0.0.1 local1 notice #notice为日志级别,通常有24个级别 #log loghost local0 info maxconn 4096 #最大连接数 chroot /usr/share/haproxy #该服务自设置的根目录,一般需将此行注释掉 uid 99 #用户UID gid 99 #用户GID daemon #守护进程模式
defaults配置项配置默认参数,一般会被应用组件继承,如果在应用组件中没有特别的声明,将安装默认配置参数:
defaults log global #定义日志为global配置中的日志定义 mode http #模式为http option httplog #采用http日志格式记录日志 option dontlognull retries 3 #检查节点服务器失败次数,连续达到三次失败,则认为节点不可用 redispatch #当服务器负载很高时,自动结束当前队列处理比较久的连接 maxconn 2000 #最大连接数 contimeout 5000 #连接超时时间 clitimeout 50000 #客户端超时时间 srvtimeout 50000 #服务器超时时间
listen配置项一般配置应用模块参数:
listen appli4-backup 0.0.0.0:10004 #定义一个名为appli4-backup的应用 option httpchk /index.html #检查服务器的index.html文件 option persist #强制将请求发送到已经down掉的服务器,一般禁用此选项。 balance roundrobin #负载均衡调度算法使用轮询算法 server inst1 192.168.114.56:80 check inter 2000 fall 3 #定义在线节点 server inst2 192.168.114.56:81 check inter 2000 fall 3 backup #定义备份节点#注意:在以上定义备份节点的参数中,#“check inter 2000”表示haproxy服务器和节点之间的一个心跳频率,#“fall 3”表示连续三次检测不到心跳频率则认为该节点失效。#节点配置后带有“ backup”表示该节点只是个备份节点,只有主节点失效该节点才会上。#去除backup,表示为主节点,和其他主节点共同提供服务。
haproxy的参数调优: