Haproxy搭建Web群集图文概述
admin
2023-02-24 00:20:09
0次

今天小编给大家分享的是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群集图文概述

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

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...