千家信息网

Haproxy搭建Web群集图文概述

发表于:2025-01-27 作者:千家信息网编辑
千家信息网最后更新 2025年01月27日,今天小编给大家分享的是Haproxy搭建Web群集图文概述,相信大部分人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,话不多说,一起往下看吧。博文目录一、Haproxy概述1、HTTP请求
千家信息网最后更新 2025年01月27日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安全错误 数据库的锁怎样保障安全 快云服务器管理助手下载 软件开发会用到那些软件 计算机网络技术是信息技术类吗 中国象棋连接服务器失败 天津荣丰软件开发公司 女生在网络安全行业会被歧视么 2018软件开发职业分析 机器人服务器地址怎么设置 方舟服务器pvp选择地点 打印服务器 推荐 事业单位 网络技术 ibm服务器河南代理 微信1302无法连接服务器 服务器有无效的签名 忍者必须死三几个服务器 镇海计算机软件开发企业 长电科技公司软件开发岗位如何啊 网络安全隐患及其解决方案 星矿数据库招聘数据工程师 尼康服务器 原神怎么看自己是不是通用服务器 审计大师取数工具登录服务器失败 lol离云南最近的服务器 中国网络安全厂商排名 杭州安卓软件开发哪里好 网络安全的五点主张 数据库中的坐标怎么用 服务器日常安全检查项 呈贡区智能化软件开发 sap软件开发计入研发费用
0