当前位置:首页 > 科技  > 软件

负载均衡原理最全详解

来源: 责编: 时间:2024-03-28 17:48:42 104观看
导读为什么需要负载均衡当系统面临大量用户访问,负载过高的时候,通常会使用增加服务器数量来进行横向扩展,使用集群和负载均衡提高整个系统的处理能力。从单机网站到分布式网站,很重要的区别是业务拆分和分布式部署,将应用拆分

为什么需要负载均衡

当系统面临大量用户访问,负载过高的时候,通常会使用增加服务器数量来进行横向扩展,使用集群和负载均衡提高整个系统的处理能力。0IU28资讯网——每日最新资讯28at.com

从单机网站到分布式网站,很重要的区别是业务拆分和分布式部署,将应用拆分后,部署到不同的机器上,实现大规模分布式系统。0IU28资讯网——每日最新资讯28at.com

分布式和业务拆分解决了,从集中到分布的问题,但是每个部署的独立业务还存在单点的问题和访问统一入口问题,为解决单点故障,我们可以采取冗余的方式,将相同的应用部署到多台机器上。0IU28资讯网——每日最新资讯28at.com

解决访问统一入口问题,我们可以在集群前面增加负载均衡设备,实现流量分发。0IU28资讯网——每日最新资讯28at.com

图片图片0IU28资讯网——每日最新资讯28at.com

负载均衡的作用

图片图片0IU28资讯网——每日最新资讯28at.com

1.解决并发压力

提高应用处理性能,增加吞吐量,加强网络处理能力。0IU28资讯网——每日最新资讯28at.com

2.实现高可用

提供故障转移,实现整个应用的高可用。0IU28资讯网——每日最新资讯28at.com

3.实现扩展性

通过添加或减少服务器数量,提供网站伸缩性扩展性。0IU28资讯网——每日最新资讯28at.com

4.实现安全防护

负载均衡设备上做一些过滤,黑白名单等处理。0IU28资讯网——每日最新资讯28at.com

 0IU28资讯网——每日最新资讯28at.com

负载均衡的原理

系统的扩展可分为纵向(垂直)扩展和横向(水平)扩展。0IU28资讯网——每日最新资讯28at.com

纵向扩展,是从单机的角度通过增加硬件处理能力,比如CPU处理能力,内存容量,磁盘等方面,实现服务器处理能力的提升,不能满足大型分布式系统(网站),大流量,高并发,海量数据的问题。0IU28资讯网——每日最新资讯28at.com

因此需要采用横向扩展的方式,通过添加机器来满足大型网站服务的处理能力。0IU28资讯网——每日最新资讯28at.com

比如:一台机器不能满足,则增加两台或者多台机器,共同承担访问压力。这就是典型的集群和负载均衡架构:如下图:0IU28资讯网——每日最新资讯28at.com

图片图片0IU28资讯网——每日最新资讯28at.com

  • 应用集群:将同一应用部署到多台机器上,组成处理集群,接收负载均衡设备分发的请求,进行处理,并返回相应数据。
  • 负载均衡设备:将用户访问的请求,根据负载均衡算法,分发到集群中的一台处理服务器。

 0IU28资讯网——每日最新资讯28at.com

负载均衡算法

1.轮循

图片图片0IU28资讯网——每日最新资讯28at.com

轮询很容易实现,将请求按顺序轮流分配到后台服务器上,均衡的对待每一台服务器,而不关心服务器实际的连接数和当前的系统负载。
适合场景:适合于应用服务器硬件都相同的情况。0IU28资讯网——每日最新资讯28at.com

2.加权轮循

图片图片0IU28资讯网——每日最新资讯28at.com


在轮询的基础上根据硬件配置不同,按权重分发到不同的服务器。
适合场景:跟配置高、负载低的机器分配更高的权重,使其能处理更多的请求,而性能低、负载高的机器,配置较低的权重,让其处理较少的请求。0IU28资讯网——每日最新资讯28at.com

3.随机

图片图片0IU28资讯网——每日最新资讯28at.com


通过系统随机函数,根据后台服务器列表的大小值来随机选取其中一台进行访问。0IU28资讯网——每日最新资讯28at.com

随着调用量的增大,客户端的请求可以被均匀地分派到所有的后端服务器上,其实际效果越来越接近于平均分配流量到后台的每一台服务器,也就是轮询法的效果。0IU28资讯网——每日最新资讯28at.com

4.最少连接

图片图片0IU28资讯网——每日最新资讯28at.com


记录每个服务器正在处理的请求数,把新的请求分发到最少连接的服务器上,因为要维护内部状态不推荐。0IU28资讯网——每日最新资讯28at.com

5.源地址散列

图片图片0IU28资讯网——每日最新资讯28at.com


根据服务消费者请求客户端的IP地址,通过哈希函数计算得到一个哈希值,将此哈希值和服务器列表的大小进行取模运算,得到的结果便是要访问的服务器地址的序号。0IU28资讯网——每日最新资讯28at.com

适合场景:根据请求的来源IP进行hash计算,同一IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。0IU28资讯网——每日最新资讯28at.com

 0IU28资讯网——每日最新资讯28at.com

负载均衡的分类

图片图片0IU28资讯网——每日最新资讯28at.com

1.二层负载均衡(mac)

根据OSI模型分的二层负载,一般是用虚拟mac地址方式,外部对虚拟MAC地址请求,负载均衡接收后分配后端实际的MAC地址响应。
备注:MAC(Media Access Control Address)0IU28资讯网——每日最新资讯28at.com

2.三层负载均衡(ip)

一般采用虚拟IP地址方式,外部对虚拟的ip地址请求,负载均衡接收后分配后端实际的IP地址响应。0IU28资讯网——每日最新资讯28at.com

3.四层负载均衡(tcp)

四层的负载均衡在三层负载均衡的基础上,通过发布三层的IP地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡。0IU28资讯网——每日最新资讯28at.com

四层负载均衡在中间传输层执行,它处理消息的传递,但不考虑消息的内容,用ip+port接收请求,再转发到对应的机器。0IU28资讯网——每日最新资讯28at.com

四层负载均衡不理解应用协议,比如:0IU28资讯网——每日最新资讯28at.com

  • HTTP
  • FTP
  • MySQL等等

实现四层负载均衡的软件有:0IU28资讯网——每日最新资讯28at.com

  • F5:硬件负载均衡器,功能很好,但是成本很高。
  • lvs:重量级的四层负载软件
  • nginx:轻量级的四层负载软件,带缓存功能,正则表达式较灵活
  • haproxy:模拟四层转发,较灵活

4.七层负载均衡(http)

七层负载均衡不同于四层负载均衡,它在高级应用层上执行,会处理每个消息的实际内容。0IU28资讯网——每日最新资讯28at.com

所谓七层负载均衡,也称为“内容交换”,也就是主要通过报文中的真正有意义的应用层内容,决定最终选择的内部服务器。0IU28资讯网——每日最新资讯28at.com

七层负载均衡它可以根据消息内容(如URL)做出负载均衡决策,比如:对URL图片类的请求转发到特定的图片服务器。0IU28资讯网——每日最新资讯28at.com

实现七层负载均衡的软件有:0IU28资讯网——每日最新资讯28at.com

  • HAproxy:天生负载均衡技能,全面支持七层代理,会话保持,标记,路径转移;
  • Nginx:只在http协议和mail协议上功能比较好,性能与haproxy差不多;
  • apache:功能较差

总的来说,一般是LVS做4层负载,Nginx或者Haproxy做7层负载,性能上LVS>HA>Nginx,功能性和便利性上Nginx>HA>LVS。0IU28资讯网——每日最新资讯28at.com


0IU28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-80191-0.html负载均衡原理最全详解

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Htmx,它到底是框架还是库?

下一篇: 记一次 .NET某防伪验证系统崩溃分析

标签:
  • 热门焦点
  • 5月iOS设备性能榜:M1 M2依旧是榜单前五

    5月iOS设备性能榜:M1 M2依旧是榜单前五

    和上个月一样,没有新品发布的iOS设备性能榜的上榜设备并没有什么更替,仅仅只有跑分变化而产生的排名变动,刚刚开始的苹果WWDC2023,推出的产品也依旧是新款Mac Pro、新款Mac Stu
  • K6:面向开发人员的现代负载测试工具

    K6:面向开发人员的现代负载测试工具

    K6 是一个开源负载测试工具,可以轻松编写、运行和分析性能测试。它建立在 Go 和 JavaScript 之上,它被设计为功能强大、可扩展且易于使用。k6 可用于测试各种应用程序,包括 Web
  • 从 Pulsar Client 的原理到它的监控面板

    从 Pulsar Client 的原理到它的监控面板

    背景前段时间业务团队偶尔会碰到一些 Pulsar 使用的问题,比如消息阻塞不消费了、生产者消息发送缓慢等各种问题。虽然我们有个监控页面可以根据 topic 维度查看他的发送状态,
  • 三言两语说透设计模式的艺术-单例模式

    三言两语说透设计模式的艺术-单例模式

    写在前面单例模式是一种常用的软件设计模式,它所创建的对象只有一个实例,且该实例易于被外界访问。单例对象由于只有一个实例,所以它可以方便地被系统中的其他对象共享,从而减少
  • 只需五步,使用start.spring.io快速入门Spring编程

    只需五步,使用start.spring.io快速入门Spring编程

    步骤1打开https://start.spring.io/,按照屏幕截图中的内容创建项目,添加 Spring Web 依赖项,并单击“生成”按钮下载 .zip 文件,为下一步做准备。请在进入步骤2之前进行解压。图
  • 每天一道面试题-CPU伪共享

    每天一道面试题-CPU伪共享

    前言:了不起:又到了每天一到面试题的时候了!学弟,最近学习的怎么样啊 了不起学弟:最近学习的还不错,每天都在学习,每天都在进步! 了不起:那你最近学习的什么呢? 了不起学弟:最近在学习C
  • 雅柏威士忌多款单品价格大跌,泥煤顶流也不香了?

    雅柏威士忌多款单品价格大跌,泥煤顶流也不香了?

    来源 | 烈酒商业观察编 | 肖海林今年以来,威士忌市场开始出现了降温迹象,越来越多不断暴涨的网红威士忌也开始悄然回归市场理性。近日,LVMH集团旗下苏格兰威士忌品牌雅柏(Ardbeg
  • 花7万退货退款无门:谁在纵容淘宝珠宝商家造假?

    花7万退货退款无门:谁在纵容淘宝珠宝商家造假?

    来源:极点商业作者:杨铭在淘宝购买珠宝玉石后,因为保证金不够赔付,店铺关闭,退货退款难、维权无门的比比皆是。“提供相关产品鉴定证书,支持全国复检,可以30天无理由退换货。&
  • 余承东:AI大模型技术的发展将会带来下一代智能终端操作系统的智慧体验

    余承东:AI大模型技术的发展将会带来下一代智能终端操作系统的智慧体验

    8月4日消息,2023年华为开发者大会(HDC.Together)今天正式开幕,华为发布HarmonyOS 4、全新升级的鸿蒙开发套件、HarmonyOS Next开发者预览版本等一系列
Top