HAProxy虽然名字前有HA,但它并不是一款高可用软件,而是一款用于实现负载均衡的软件,可实现四层与七层的负载均衡。
关于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,表示为主节点,和其他主节点共同提供服务。 用户可以使用云专线将用户数据中心连接至公有云区域的虚拟私有云专线连接,享受高性能、低延迟、安全专用的数据网络。
|