专栏首页小手冰凉haproxy的配置文件详解

haproxy的配置文件详解

Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多,如LVS和Nginx。相比较而言,LVS性能最好,但是搭建相对复杂,Nginx的upstream模块支持群集功能,但是相对群集节点健康检查功能不强,性能没有Haproxy好,更多的是应用在企业内网环境中。

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的参数调优:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Jumpserver 部署安装

    相信各位对堡垒机(跳板机)不会陌生,为了保证服务器安全,加个堡垒机,所有ssh连接都通过堡垒机来完成,堡垒机也需要有身份认证、授权、访问控制、日志审计等功能。

    小手冰凉
  • centos7.0 安装DHCP服务

    进入centos7系统后首先修改网卡IP为静态IP vim /etc/sysconfig/network-scripts/ifcfg-ens33

    小手冰凉
  • 基于DR(直接路由)模式的负载均衡配置详解

    DR(直接路由)是三种负载均衡模式其中之一,也是使用最多的一种模式,关于该模式的介绍,可以参考博文:https://blog.51cto.com/1422720...

    小手冰凉
  • 垃圾回收的常见算法

    自动化的管理内存资源,垃圾回收机制必须要有一套算法来进行计算,那些是有效的对象,那些是无效的对象,对于无效的对象 就要进行回收处理。 常见的垃圾回收算...

    海仔
  • 「无心插柳柳成荫」的乔姆斯基 | 追溯 AI 大师系列

    艾弗拉姆·诺姆·乔姆斯基博士(Avram Noam Chomsky,1928 年 12 月 7 日—),麻省理工学院语言学的荣誉退休教授,发表的《生成语法》被认...

    AI科技评论
  • 垃圾回收的常见算法

    自动化的管理内存资源,垃圾回收机制必须要有一套算法来进行计算,那些是有效的对象,那些是无效的对象,对于无效的对象 就要进行回收处理。 常见的垃圾回收算法有 :引...

    Edison.Ma
  • JVM(五)垃圾回收器的前世今生

    如果垃圾回收的算法属于内存回收的方法论的话,那本文讨论的垃圾回收器就属于内存回收的具体实现。

    Java中文社群_老王
  • Python之I/O多路复用

    socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。

    py3study
  • [HCTF] admin出题人求挨打

    HCTF2018-web-admin来自出题人的write up

    安恒网络空间安全讲武堂
  • 如何提升OTT的用户体验

    本文来自SMPTE 2019,演讲者Thierry Fautier是Harmonic的视频战略副总裁。视频的主题是如何提升OTT的用户体验。

    用户1324186

扫码关注云+社区

领取腾讯云代金券