千家信息网

Haproxy搭建Web群集图文概述

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,今天小编给大家分享的是Haproxy搭建Web群集图文概述,相信大部分人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,话不多说,一起往下看吧。博文目录一、Haproxy概述1、HTTP请求
千家信息网最后更新 2025年12月02日Haproxy搭建Web群集图文概述

今天小编给大家分享的是Haproxy搭建Web群集图文概述,相信大部分人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,话不多说,一起往下看吧。

博文目录
一、Haproxy概述
1、HTTP请求
2、负载均衡常用调度算法
3、常见的Web群集调度器
二、Haproxy配置项介绍
1、global配置项通常有下面配置参数:
2、defaults配置项配置默认参数,一般会被应用组件继承,如果在应用组件中没有特别的声明,将安装默认配置参数:
3、listen配置项一般配置应用模块参数:
三、Haproxy的参数优化

一、Haproxy概述

Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多,如LVS和Nginx。相比较而言,LVS性能最好,但是搭建相对复杂;Nginx的upstream模块支持群集功能,但是对群集节点健康检查功能不强,性能没有Haproxy好。Haproxy官方网站是http://www.haproxy.org/ 。

1、HTTP请求

通过URL访问网站使用的协议是HTTP协议,此类请求一般称为HTTP请求。HTTP请求的方式分为GET方式和POST方式。
当使用浏览器访问某一个URL,会根据请求URL返回状态码,通常正常的状态码为2 X X、3 X X(如200、301),如果出现异常会返回4 X X、5 X X(如400、500)。例如:访问http://www.test.com/a.php?ld=123 ,就是一个GET请求,如果访问正常,会从服务器的日志中获取200状态码。假如此请求使用POST方式,那么传递给a.php的ld参数依旧是123,但是浏览器的URL将不会显示后面的ld=123字样,因此表单类或者有用户名、密码等内容提交时建议使用POST方式。不管使用哪种方式,最终a.php获取的值是一样的。

2、负载均衡常用调度算法

LVS、Haproxy、Nginx最常用的调度算法有三种,如下所述:

  • RR(Round Robin):动态加权轮询算法,支持权重的运行时调整及慢启动机制;最大支持4095个后端主机;在服务器的处理时间平均分配的情况下这是最流畅和公平的算法。该算法是动态的,对于实例启动慢的服务器权重会在运行中调整。

  • LC(Least Connections): 最小连接数算法,连接数最少的服务器优先接收连接。建议用于长会话场景中使用,例如LDAP、SQL等协议,而不适合短会话协议。如HTTP.该算法是动态的,对于实例启动慢的服务器权重会在运行中调整。

  • SH(Source Hashing):源地址哈希算法,对请求源IP地址进行哈希;取模法:将源地址hash计算后除以服务器总权重,服务器变动会影响全局调度效果;根据结果进行分配。只要服务器正常,同一个客户端IP地址总是访问同一个服务器。如果哈希的结果随可用服务器数量而变化,那么客户端会定向到不同的服务器;该算法默认是静态的,所以运行时修改服务器的权重是无效的,但是算法会根据"hash-type"的变化做调整。
    该算法一般用于不能插入cookie的Tcp模式。它还可以用于广域网上为拒绝使用会话cookie的客户端提供最有效的粘连;一致性hash:服务器变动仅影响局部调度;动态调度。

3、常见的Web群集调度器

目前常见的Web群集调度器分为软件和硬件,软件通常使用开源的LVS、Haproxy、Nginx;硬件一般使用比较多的是F5,也有很多人使用国内的一些产品,如梭子鱼、绿盟等。

二、Haproxy配置项介绍

Haproxy的配置文件通常分为三个部分:

  • global;
  • defaults;
  • listen;
    global为全局配置,defaults为默认配置,listen为应用组件配置。

1、global配置项通常有下面配置参数:

global        log 127.0.0.1   local           log 127.0.0.1   local1 notice          #log loghost    local0 info        maxconn 4096                  chroot /usr/share/haproxy           uid 99                 gid 99                daemon        

2、defaults配置项配置默认参数,一般会被应用组件继承,如果在应用组件中没有特别的声明,将安装默认配置参数:

defaults        log     global               mode    http                         option  httplog                      option  dontlognull        retries 3                 redispatch                     maxconn 2000                              contimeout      5000                      clitimeout      50000                     srvtimeout      50000             

3、listen配置项一般配置应用模块参数:

listen  appli4-backup 0.0.0.0:10004                   option  httpchk /index.html                   option  persist                   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 

三、Haproxy的参数优化

关于Haproxy的参数优化,以下列举了几个关键的参数,并对各参数的生产环境的优化建议做了说明:

关于Haproxy搭建Web群集就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到

配置 参数 服务器 服务 算法 调度 应用 方式 权重 组件 动态 地址 运行 内容 客户 客户端 常用 常见 建议 模块 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖南软件开发以客为尊 mysql数据库架构方案 深圳立维互联网科技有限公司 政治题维护网络安全的意义 山东招聘hr软件开发 涪陵区企业网络技术服务内容 信息安全与网络技术的区别 网络安全周反恐宣传简报 更健康互联网科技 增加服务器数量的目的 服务器机械硬盘声音大吗 数据库系统全书阅读心得 重庆银行软件开发岗笔试题 计算机网络技术地理信息 智能物流网络技术是什么 软件开发网络接单平台 路由器配置首选dns服务器 怎么处理数据库模式中的数据冗余 嵌入式软件开发的几个阶段 james邮件服务器 中国电信网络安全专业就业方向 杭州小程序软件开发流程 数据库运维目标是什么 秦时明月服务器是谁建的 qqvip服务器有什么用 技校学计算机网络技术有用吗 恋母日记软件开发 从数据库提取记录汇总成sum表 江苏教育网络技术竞赛 mdb数据库转gdb
0