• Haproxy


    1.Haproxy,nginx的区别

    Haproxy:也是常用的负载均衡软件

    nginx:支持四层转发,七层转发

    haproxy 也可以四层和七层转发

    2.LVS的DR和nat是基于四层还是七层转发?

    四层转发

    tun:四层加七层

    基于四层的转发:

    1、lvs

    2、nginx

    3、haproxy

    基于七层

    nginx

    haproxy

    haproxy:法国人开发的威利塔罗在2000年基于c语言开发的开源的软件

    可以支持一万以上的并发请求

    高性能的tcp和http负载均衡器 2.4 1.5.9

    3.haproxy的功能

    haproxy:主要用于高并发的web站点。工作原理和nginx一样。lvs都一样

    支持的功能:

    1、tcp和http的反向代理

    2、支持https的代理配置

    3、可以针对http请求添加cookie,转发到后端服务器(添加缓存)

    4、也支持主备服务器切换(keepalived)

    5、基于端口的实时监控

    6、压缩响应报文

    4.haproxy的特定

    1、可靠性和稳定非常好,可以和硬件f5 big 负载均衡的硬件设备相媲美

    2、同时40000-50000个并发连接,单位时间内处理最大请求数20000个

    3、支持8中负载均衡算法,但是haproxy不带缓存功能,但是可以支持会话保持

    4、支持配置虚拟主机

    5.haproxy的负载均衡算法

    1、roundrobin rr 轮询

    2、static-rr 加权轮询

    3、leastconn 最小连接数

    4、source 根据请求的源ip进行调度 sh

    5、uri 根据请求地址进行调度

    6、url param URL的参数实现调度

    7、hdr(name) 根据http的请求头锁定每一次http的请求

    8、rdp-cookie 根据cookie的名称来锁定每一次请求

    6.lvs nginx haproxy区别

    1.lvs基于linux内核实现负载均衡,性能最高,但是对系统硬件要求也比较高

    haproxy和nginx基于第三方应用实现负载均衡,性能较低,最低的是nginx

    2、lvs可以实现ip+端口的四层负载均衡,无法实现http请求的转发,haproxy和nginx都可以实现四层和七层的转发

    3.lvs只能实现四层转发,监测的状态只能是单一的功能(监测端口)

    haproxy可以实现端口,uri也可以

    4.haproxy虽然功能强大,但是整体性能低于lvs nginx的性能比haproxy低

    lvs>haproxy>nginx(bug多,稳定也差)

    5.nginx主要应用还是web服务或者缓存服务器,nginx的stream模块和upstream模块也可以支持集群,但是对检点的健康检查不强,没有lvs和haproxy的监控性能好

    haproxy的缺点:单节点部署,单实例运行,代理服务器出现故障,整个负载集群全部不可用

    haproxy是一个无状态的负载均衡器,没缓存,也没有会话保持,靠应用程序实现会话保持,状态不是保存在代理服务器,而在后端服务器,或者依靠cookie

    日志问题:haproxy的日志比较简单,只提供基本的请求日志和错误日志,需要更高级的日志,人工自定义

    7.搭建haproxy和nginx服务

    cd /opt

    全部

    systemctl stop firewalld

    setenforce 0

    nginx1:

    tar -xf haproxy-1.5.19.tar.gz

    yum install -y pcre-devel bzip2-devel gcc gcc-c++ make

    cd haproxy-1.5.19/

    make TARGET=linux2628 ARCH=X86_64

    make install

    mkdir /etc/haproxy

    cd /opt/haproxy-1.5.19/examples

    cp haproxy.cfg /etc/haproxy/

    cd /etc/haproxy

    vim haproxy.cfg

    cd /opt/haproxy-1.5.19/examples

    cp haproxy.init /etc/init.d/haproxy

    chmod 777 /etc/init.d/haproxy

    chkconfig --add /etc/init.d/haproxy

    cd /usr/local/sbin/

    ln -s /usr/local/sbin/haproxy /usr/sbin

    systemctl restart haproxy

    vim /usr/local/nginx/html/index.html

    this is nginx2

    nginx3

    vim /usr/local/nginx/html

    this is nginx2

    test1

    curl 192.168.233.61

  • 相关阅读:
    go 极简后台管理-二次开发
    2022鹏城杯
    ASEMI快恢复二极管ES8JC参数,ES8JC规格,ES8JC封装
    2023年10月Web3行业月度发展报告区块链篇 |陀螺研究院
    vue父子组件传值:父传子、子传父
    ideaSSM 校园兼职招聘平台bootstrap开发mysql数据库web结构java编程计算机网页源码maven项目
    设计模式-1
    API响应状态
    spring cloud alibaba 简介
    Android12启动崩溃 no namespace called
  • 原文地址:https://blog.csdn.net/qq_59980732/article/details/134053202