• 负载均衡四层和七层的区别(nginx, haproxy,lvs)


    负载均衡四层和七层的区别

    1.区别:
    四层负载,说的是基于IP+端口的负载均衡;
    七层负载,说的是基于WEB请求,URL等应用信息的负载均衡。
    同理,还有基于二层和三层的。
    二层的就是基于MAC地址,二层负载均衡会通过一个虚拟MAC地址接受请求,然后再分配到真实的MAC地址。
    三层负载就是通过一个虚拟IP地址,然后再分配到真实的IP。
    四层就是通过虚机的IP+端口接收请求,然后再分配到真实的服务器;
    七层就是通过虚机主机名或者URL接收请求,再根据一些规则分配到真实的服务器,常见的应用是nginx。

    2.所谓的负载均衡,就是根据请求的信息不同,来决定怎么样转发流量。
    四层负载均衡,就是根据请求的ip+端口,根据设定的规则,将请求转发到后端对应的IP+端口上。
    七层负载均衡,则是在四层基础上,再去考虑应用层的特征。比如说一个WEB服务器的负载均衡,除了根据IP+80端口来判断之外,还可以根据七层URL,浏览器类别,来决定如何去转发流量。

    3.四层交换机主要分析IP层和TCP/UDP层,实现四层流量负载,这种负载不关心七层的应用协议。
    七层的交换机除了支持四层之外,还要分析应用层,如HTTP协议、URL、cookie等信息。
    四层常见软件是haproxy,LVS,七层常见软件是nginx。

    常有负载软件优缺点比较

    .Nginx优缺点:

    优点:开源软件,简单易部署;功能强大,七层负载基本可以满足所有需求。
    缺点:仅支持http,https,Email协议;对后端服务器的检测,仅通过IP+端口来检查,不可以通过URL来检查;不支持会话session保持的一致行,但可以通过IP+HASH来解决。
    (nginx做四层代理时编译需要添加 --with-stream模块)

    .LVS优缺点:

    优点:工作在4层,仅做分发作用,没有流量产生,因此。负载性能最强,对内存和cpu消耗率更低;
    缺点:不支持正则表达式,不支持动静分离。

    .haproxy优缺点

    优点:支持session会话保持一致,四层和七层都支持;支持通过URL来检测后端服务器的状态。支持负载节点开/关
    缺点:在七层转发支持上,不如nginx强大。

  • 相关阅读:
    【机器学习】04. 神经网络模型 MLPClassifier分类算法与MLPRegressor回归算法(代码注释,思路推导)
    软件测试/测试开发/人工智能丨Python类型转换
    基于springboot的计算机类考研交流平台(源码+论文)
    以深圳为例Python一键生成核酸检测日历
    iText实战--Table、cell 和 page event
    MySQL【多表查询】
    《计算机网络-自顶向下方法》学习笔记
    odoo16前端框架源码阅读——启动、菜单、动作
    Redis连接不上的报错解决方案汇总
    [数据结构]——排序——插入排序
  • 原文地址:https://blog.csdn.net/tongzidane/article/details/125443140