• 负载均衡简介


    负载均衡

    负载均衡(Load Balance,简称 LB)是高并发、高可用系统必不可少的关键组件,目标是 尽力将网络流量平均分发到多个服务器上,以提高系统整体的响应速度和可用性。

    负载均衡的分类和OSI模型息息相关,请看下图OSI模型及相关解释。以便更好的理解负载均衡的分类。

    在这里插入图片描述

    负载均衡分类

    二层负载均衡(mac)

    根据OSI模型分的二层负载,一般是用虚拟mac地址方式,外部对虚拟MAC地址请求,负载均衡接收后分配到后端的实际mac地址响应。

    三层负载均衡(ip)

    采用虚拟IP地址的方式,外部对虚拟的IP地址请求,负载均衡接收后分配后端实际的IP地址响应。

    四层负载均衡(tcp)

    基于IP端口的负载均衡,在三次负载均衡的基础上,用IP PORT接收请求,在转发到对应的机器上面去。

    七层负载均衡(http)

    基于虚拟的URL和IP的负载均衡,根据url和IP,主机接收请求,在转发到相应的服务器。

    负载均衡工具

    一般四层和七层负载均衡用到的比较多。

    像Nginx、HAProxy用来坐七层负载均衡,LVS用来做四层负载均衡。

    负载均衡算法

    轮询

    轮询法,就是将用户的请求轮流分配给服务器,就像是挨个数数,轮流分配。这种算法比较简单,他具有绝对均衡的优点,但是也正是因为绝对均衡它必须付出很大的代价,例如它无法保证分配任务的合理性,无法根据服务器承受能力来分配任务。

    比率(加权轮询)

    按照权重将请求分发到不同的服务器,一般配置高的权重高,使其处理更多的请求。

    随机

    随机法,是随机选择一台服务器来分配任务。它保证了请求的分散性达到了均衡的目的。同时它是没有状态的不需要维持上次的选择状态和均衡因子。但是随着任务量的增大,它的效果趋向轮询后也会具有轮询算法的部分缺点。

    说白了,随机的选取一台服务器来处理请求。

    最小连接

    最小连接法,将任务分配给此时具有最小连接数的节点,因此它是动态负载均衡算法。一个节点收到一个任务后连接数就会加1,当节点故障时就将节点权值设置为0,不再给节点分配任务。

    说白了,就是.将请求打到最少连接的服务器。

    最快响应

    请求转发到响应最快的服务器。

    哈希

    通过hash算法决定请求分发到哪台服务器。

  • 相关阅读:
    【docker】容器跟宿主机、其他容器通信
    Hyper-V 虚拟机CentOS配置网络(三)
    酷开科技依托酷开系统推动家庭智能化加速发展
    微软文本转语音「免费网页版」
    (附源码)计算机毕业设计SSM基于的防疫隔离服务系统
    Docker中OceanBase挂载过后,删除再启动无限重启的解决办法
    基于Java毕业设计影音娱乐销售管理系统源码+系统+mysql+lw文档+部署软件
    【BOOST C++ 13 并行编程】(2) 同步线程
    如何实现两栏布局,右侧自适应?三栏布局,中间自适应?
    Python中神奇的「type」,即可查看类型,又可以创建对象
  • 原文地址:https://blog.csdn.net/qq_26347283/article/details/134499457