深入理解负载均衡原理及算法

这篇具有很好参考价值的文章主要介绍了深入理解负载均衡原理及算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 前言

在互联网早期,网络还不是很发达,上网用户少,流量相对较小,系统架构以单体架构为主。但如今在互联网发达的今天,流量请求动辄百亿、甚至上千亿,单台服务器或者实例已完全不能满足需求,这就有了集群。不论是为了实现高可用还是高性能,都需要用到多台机器来扩展服务能力,用户的请求不管连接到哪台服务器,都能得到相同的相应处理。

另一方面,如何构建和调度服务集群这事情,又必须对用户一侧保持足够的透明,即使请求背后是由一千台、一万台机器来共同响应的,也绝非用户所关心的事情,用户需记住的只有一个域名地址而已。调度后方的多台机器,以统一的接口对外提供服务,承担此职责的技术组件被称为 负载均衡

2. 概念

负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务或者网络请求)进行平衡,分摊到多个操作单元(服务器或者组件)上进行运行。目的是尽量将网络流量 平均 发送到多个服务器上,以保证整个业务系统的高可用。负载均衡构建在原有网络结构上,它提供了一种透明且廉价有效的方法,扩展服务器和网络设备的贷款、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。

深入理解负载均衡原理及算法,负载均衡,算法,php

负载均衡

负载均衡主要有以下作用:

  • 高并发:通过采取一定的算法策略,将流量尽可能的均匀发送给服务端,以此提高集群的并发处理能力。

  • 伸缩性:根据网络流量的大小,增加或者减少后端服务器实例,由负载均衡设备进行控制,这样使得集群具有伸缩性。

  • 高可用:负载均衡器通过算法或者其他性能数据来监控候选实例,当实例负载过高或者异常时,减少其流量请求或者直接跳过该实例,将请求发送给其他可用实例,这使得集群具有高可用的特性。

  • 安全防护:有些负载均衡器提供了安全防护功能。如:黑白名单处理、防火墙等。

3. 分类

3.1 根据地域范围分类

负载均衡从其应用的地理结构上分为本地负载均衡(Local Load Balance)和全局负载均衡(Global Load Balance,也叫地域负载均衡)。

3.1.1 本地负载均衡

本地负载均衡是指对本地的服务器群做负载均衡。

本地负载均衡针对本地范围的服务器群做负载均衡,本地负载均衡不需要花费高额成本购置高性能服务器,只需利用现有设备资源,就可有效避免服务器单点故障造成数据流量的损失,通常用来解决数据流量过大、网络负荷过重的问题。同时它拥有形式多样的均衡策略把数据流量合理均衡的分配到各台服务器。如果需要在现在服务器上升级扩充,不需改变现有网络结构、停止现有服务,仅需要在服务群中简单地添加一台新服务器。

3.1.2 全局负载均衡

全局负载均衡是指对分别放置在不同的地理位置、有不同网络结构的服务器群间作负载均衡。

全局负载均衡主要解决全球用户只需一个域名或IP地址,就能访问到离自己距离最近的服务器获得最快的访问速度,它在多区域都拥有自己的服务器站点,同时也适用于那些子公司站点分布广的大型公司通过企业内部互联网(Intranet)来达到资源统一合理分配的目的。全局负载均衡具备以下特点:

  • 提高服务器响应速度,解决网络拥塞问题,达到高质量的网络访问效果;
  • 能够远距离为用户提供完全的透明服务,真正实现与地理位置无关性;
  • 能够避免各种单点失效,既包括数据中心、服务器等的单点失效,也包括专线路障引起的单点失效。

内容分发网络 CDN(Content Delivery Network)采用的就是全局负载均衡。假如我们将图片存储在CDN服务器上,且该CDN在北京、杭州均部署有服务器。那么:

  • 当天津用户下载图片的时候,会自动将流量请求转发至北京的CDN服务器;

  • 当江苏用户下载图片的时候,就会将流量请求转发至杭州的服务器;

3.2 根据载体类型分类

从支持负载均衡的载体来看,可以将负载均衡分为两类:硬件负载均衡软件负载均衡。

3.2.1 硬件负载均衡

硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备通常称之为负载均衡器,由于专门的设备完成专门的任务,独立于操作系统,整体性能得到极大提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。

这类设备性能强劲、功能强大,但价格非常昂贵,一般只有土豪公司才会使用此类设备,中小公司一般负担不起,业务量没那么大,用这些设备也是浪费。

目前业界领先的两款硬件负载均衡器:F5和A10。文章来源地址https://www.toymoban.com/news/detail-633541.html

到了这里,关于深入理解负载均衡原理及算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 负载均衡概念理解和相关算法

    负载均衡(Load balance,LB),是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 通俗点理解有点类似于常说的一句话,一碗水端平。如

    2024年02月14日
    浏览(32)
  • Kong工作原理 - 负载均衡 - 负载均衡算法

    负载均衡器支持以下负载均衡算法: 1. 轮询(Round-robin) 2. 一致性哈希(Consistent Hashing) 3. 最少连接(Least Connections) 4. 延迟(Latency) 这些算法仅在使用upstream实体时可用,详见高级负载均衡。 注意:对于所有这些算法,重要的是要了解如何设置每个后端的权重和端口。

    2024年01月25日
    浏览(42)
  • 深入浅出Nginx的基本原理和配置指南「负载均衡篇」

    6.1 四层负载均衡 6.1.1 四层负载均衡与七层负载均衡的区别 四层负载均衡数据包是在底层就进行了分发,而七层负载均衡数据包则在最顶端进行分发,所以四层负载均衡的效率比七层负载均衡的要高。四层负载均衡不识别域名,而七层负载均衡识别域名。 6.1.2 四层负载均衡配

    2024年02月09日
    浏览(46)
  • 负载均衡的原理及算法

    负载均衡(Load Balancing)是指在计算机网络中将工作负载(如请求、数据流量等)分配给多个计算资源(如服务器、网络连接等),以实现资源利用的均衡和性能优化。其原理和算法如下: 原理: 请求分发 :负载均衡器接收到来自客户端的请求后,根据预设的策略将请求分

    2024年04月17日
    浏览(31)
  • 负载均衡原理及算法

    负载均衡是一种计算机网络技术,其核心目标是在多个服务器或服务单元之间有效地分配网络流量或工作任务,以达到以下目的: 提高系统性能 :通过分散负载,防止单一服务器过载,确保整体系统的处理能力得到充分利用。 提升可用性 :即使某个服务器出现故障,其他健

    2024年04月23日
    浏览(29)
  • 【Spring Cloud】深入探索 Nacos 注册中心的原理,服务的注册与发现,服务分层模型,负载均衡策略,微服务的权重设置,环境隔离

    在微服务架构中,服务注册中心是整个体系中的关键组件之一。它负责服务的注册、发现和管理,为微服务之间的通信提供了基础设施。在这方面,Nacos(Namespace Aware Clustered Object Storage)作为一种服务发现和配置管理系统,提供了丰富的功能,旨在简化微服务架构中的服务注

    2024年02月06日
    浏览(168)
  • 【排序算法】深入理解快速排序算法:从原理到实现

    目录 1. 引言 2. 快速排序算法原理 3. 快速排序的时间复杂度分析 4. 快速排序的应用场景 5. 快速排序的优缺点分析 5.1 优点: 5.2 缺点: 6. Java、JavaScript 和 Python 实现快速排序算法 6.1 Java 实现: 6.2 JavaScript 实现: 6.3 Python 7. 总结        快速排序是一种经典的排序算法,它的

    2024年03月20日
    浏览(45)
  • 深入理解DES算法:原理、实现与应用

    title: 深入理解DES算法:原理、实现与应用 date: 2024/4/14 21:30:21 updated: 2024/4/14 21:30:21 tags: DES加密 对称加密 分组密码 密钥管理 S盒P盒 安全性分析 替代算法 历史 DES(Data Encryption Standard)算法是由IBM研发,并于1977年被美国国家标准局(NBS,现NIST)确定为数据加密标准。 设计目

    2024年04月14日
    浏览(78)
  • 深入分析负载均衡情景

    本文出现的内核代码来自Linux5.4.28,为了减少篇幅,我们尽量不引用代码,如果有兴趣,读者可以配合代码阅读本文。 整个Linux的负载均衡器有下面的几个类型: 实际上内核的负载均衡器(本文都是特指CFS任务的)有两种,一种是为繁忙CPU们准备的periodic balancer,用于CFS任务

    2024年02月11日
    浏览(45)
  • PHP面试宝典之高并发、负载均衡

    高并发:系统能够同时并行处理很多请求(同一时间内大量的网络请求),指标:响应时间,吞吐量,每秒查询率,并发用户数 高性能:程序处理速度快,所占内存少、cpu占用率低。 高可用:一个系统经过设计,从而减少停工时间,保持其服务的高度可用性 不出现单点故障

    2024年02月01日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包