What is load balancing? 什么是负载均衡?

原文链接 What Is Load Balancing? | IBM

什么是负载均衡?

在多台服务器之间高效的分配网络流量的过程,以优化应用程序的可用性,同时确保积极的用户体验。

电商网站依赖负载均衡(load balancing)来确保web应用能够无延迟,不停机的发送数据到用户端。

负载均衡如何工作的?

负载平衡可以通过几种方式实现。

【硬件负载平衡器(load balancers)】是在本地(on premises)安装和维护的物理设备(physical appliance)。

【软件负载平衡器】是安装在私有(privately-owned)服务器上或作为托管云服务(managed cloud service)(云负载均衡)的应用程序。

负载均衡器通过实时调解(mediating)来自客户端的请求并确定哪些后端服务器最适合处理这些请求来工作。为了防止单个服务器过载(overloaded),负载均衡器会将请求路由(routes)到任何数量的本地( on premises)或托管在服务器农场(hosted in server farms)或云数据中心的可用服务器上。

一旦分配的服务器接收到请求,它会通过负载均衡器向客户端做出响应。然后,负载均衡器通过将客户端的IP地址与选定服务器的IP地址匹配来完成服务器到客户端的连接。客户端和服务器然后能够进行通信并执行所需的任务,直到会话结束。

如果网络流量突然增加(spike),负载均衡器可能会启动额外的服务器以满足需求。

或者,如果网络流量暂时减少(lull),负载均衡器可能会减少可用服务器的数量。

它还可以通过将流量路由到缓存服务器(cache servers来辅助网络缓存,缓存服务器临时存储以前的用户请求。

负载均衡的好处

高可用 (Availability)

        负载平衡器在将请求路由到服务器之前对服务器执行健康检查(health checks)。

        如果一台服务器即将发生故障,或因维护或升级而离线,负载平衡会自动将工作负载重新路由到工作服务器,以避免服务中断(interruptions)并保持高可用性。

易扩展 (Scalability)

        负载平衡实现了按需(on-demand)的高性能( high-performance)基础设施,可以处理最重或最轻的网络流量负载。

        可以根据需要添加或删除物理或虚拟服务器(Physical or virtual ),使可扩展性变得简单和自动化。

安全 (Security)

        负载均衡器可以包括安全功能,

        如SSL加密、

        web应用程序防火墙(web application firewalls aka WAF)和

        多因素身份验证(multi-factor authentication aka MFA)。

        它们还可以被整合到应用交付控制器(application delivery controllers aka ADC)中,以提高应用安全性。

        通过安全地路由或卸载(routing or offloading)网络流量,负载平衡可以帮助防御分布式拒绝服务攻击(distributed denial-of-service aka DDoS)等安全风险。

负载均衡算法

针对不同的情况,使用不同的算法。

轮询(Round robin

        最少工作量此算法使用域名系统( Domain Name System aka DNS)以连续轮换( continuous rotation)的方式将请求顺序(sequentially)分配给每个服务器。

        这是最基本的负载平衡方法,因为它只使用每个服务器的名称来确定哪个服务器接收下一个传入请求。

加权轮询(Weighted round robin

        除了DNS名称外,此算法中的每个服务器还被分配了一个“权重(weight)”。

        权重决定了哪些服务器应该比其他服务器具有处理传入请求的优先级(priority)。

        管理员(administrator)根据每个服务器的容量和网络需求决定如何对其进行加权。

IP哈希(IP hash

        计算将传入请求的IP地址简化(或哈希)(simplifies (or hashes))为一个称为哈希键(hash key)的较小值。然后,这个唯一的哈希键(hash key)(代表用户的IP地址)被用作决定如何将请求路由到特定服务器的基础。

最少连接(Least connections

        顾名思义,当收到新的客户端请求时,此算法会优先考虑活动连接最少的服务器(fewest active connections)。这种方法有助于防止服务器因连接而过载(overloaded),并始终保持服务器之间的负载一致(consistent load)。

最快响应(Least response time

        该算法将最少连接(least connection)方法与最短(shortest)的平均服务器响应时间相结合。连接数量以及服务器执行请求和发送响应所需的时间都会被评估。具有最少活动连接的最快服务器将接收传入请求。

负载均衡器的类型

虽都是分发流量,但针对特定功能有特定类型的负载均衡器。

网络负载平衡器 (Network load balancers)

        优化流量,减少局域网和广域网的( local and wide area networks)延迟。它们使用IP地址和目标端口(destination ports)等网络信息,以及TCP和UDP协议来路由网络流量,并提供足够的吞吐量(throughput)来满足用户需求。

应用层负载均衡器 (Application load balancers)

        使用诸如URLs, SSL sessions 和 HTTP headers之类的应用层内容(application content)来路由API请求流量。由于多个应用层服务器存在重复功能,检查应用层( application-level )内容有助于确定哪些服务器可以快速可靠地满足特定请求。

虚拟负载平衡器(Virtual load balancers)

        随着虚拟化(virtualization)和VMware技术的兴起,虚拟负载平衡器(virtual load balancers)现在被用来优化服务器、虚拟机和容器之间的流量。Kubernetes等开源容器编排工具(orchestration tools)提供了虚拟负载平衡功能,可以在集群中容器(containers)的节点(nodes)之间路由请求

全局服务器负载平衡器 Global server load balancers)

        这种类型的负载均衡器将流量路由到多个地理(geographic)位置的服务器,以确保应用程序的可用性。用户请求可以分配给最近(closest)的可用服务器,或者如果服务器发生故障,可以分配给另一个有可用服务器的位置。这种故障转移功能(failover capability)使全局服务器负载平衡成为灾难恢复的重要组成部分。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/64034.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

黑马商城微服务复习(6)

MQ高级 1. 消息可靠性2. 发送者的可靠性1. 发送者问题2. 生产者重试机制3. 生产者确认机制4. MQ可靠性5. 消费者的可靠性 3. 延迟消息1. 定义2. 死信交换机 1. 消息可靠性 发送消息时丢失: 生产者发送消息时连接MQ失败生产者发送消息到达MQ后未找到Exchange生产者发…

内网是如何访问到互联网的(华为源NAT)

私网地址如何能够访问到公网的? 在上一篇中,我们用任意一个内网的终端都能访问到百度的服务器,但是这是我们在互联网设备上面做了回程路由才实现的,在实际中,之前也说过运营商是不会写任何路由过来的,那对于…

oracle归档模式下的快速热备方法-适合小库

在我们的一些小型的oracle生产库中,有些时候我们可以在不停库且不使用rman的情况下实现数据库的热备。该热备的原理是通过控制数据文件块头的scn号在备份时候不变化,进而保证备份的数据文件数据一致性。 一、环境 数据库版本: 数据库需要开启…

rabbitMq举例

新来个技术总监,把 RabbitMQ 讲的那叫一个透彻,佩服! 生产者 代码举例 public String sendMsg(final String exchangeName,final String routingKey,final String msg) {} /*** 发送消息* param exchangeName exchangeName* param routin…

2024年12月13日Github流行趋势

项目名称:nexus-xyz / nexus-zkvm 项目维护者:govereau slumber danielmarinq sjudson yoichi-nexus项目介绍:Nexus zkVM 是一个零知识虚拟机。项目star数:1,948项目fork数:343 项目名称:soxoj / maigret …

(九)机器学习 - 多项式回归

多项式回归(Polynomial Regression)是一种回归分析方法,它将自变量 xx 和因变量 yy 之间的关系建模为 nn 次多项式。多项式回归的目的是找到一个 nn 次多项式函数,使得这个函数能够最好地拟合给定的数据点。 多项式回归的数学表达…

Linux USB开发整理和随笔

目录 1 概述 2 硬件原理基础 2.1 USB发展 2.2 USB的拓扑 2.3 硬件接口 2.4 USB总线协议 2.4.1 通信过程 2.4.2 概念关系 2.4.3 管道PIPE 2.4.4 传输 2.4.5 事务 2.4.6 包结构与类型 2.4.6.1 令牌包 2.4.6.2 数据包 2.4.6.3 握手包 2.5 描述符 2.5.1 设备描述符…

️️️ 避坑指南:如何修复国密gmssl 库填充问题并提炼优秀加密实践20241212

🛡️ 避坑指南:如何修复国密gmssl 库填充问题并提炼优秀加密实践 ✨ 引言 在当下的数据安全环境中,SM4作为中国国家密码算法的代表性选择,被广泛应用于金融、通信和政府领域。然而,在实际开发中,即便是开…

沈阳理工大学《2024年811自动控制原理真题》 (完整版)

本文内容,全部选自自动化考研联盟的:《沈阳理工大学811自控考研资料》的真题篇。后续会持续更新更多学校,更多年份的真题,记得关注哦~ 目录 2024年真题 Part1:2024年完整版真题 2024年真题

2023 年 408 大题解析

讲解视频推荐: 【BOK408真题讲解-2023】 一、数据结构 1. 算法题(图的邻接矩阵)13’ 已知有向图 G 采用邻接矩阵存储,类型定义如下: typedef struct{ //图的类型定义int num Vertices, numEdges; //图的顶点数和有…

【R语言】基础知识

一、对象与变量 R语言中的所有事物都是对象,如向量、列表、函数,变量、甚至环境等。它的所有代码都是基于对象object的操作,变量只是调用对象的手段。 1、对象 在R语言中,对计算机内存的访问是通过对象实现的。 # 字符型向量 …

【SpringBug】lombok插件中@Data不能生成get和set方法

一:问题引入 可以看到我们在类UserInfo上写了Data注解,但是在测试文件中生成的反编译target文件Us二Info中没有get和set方法 二:解决方法 1:Spring升级问题(解决了我的问题) 原因是Spring官方进行了升级…

Java版-图论-最短路-Floyd算法

实现描述 网络延迟时间示例 根据上面提示,可以计算出,最大有100个点,最大耗时为100*wi,即最大的耗时为10000,任何耗时计算出来超过这个值可以理解为不可达了;从而得出实现代码里面的: int maxTime 10005…

STM32 CubeMx HAL库 独立看门狗IWDG配置使用

看门狗这里我就不多介绍了,能搜到这篇文章说明你了解 总之就是一个单片机重启程序,设定好超时时间,在超时时间内没有喂狗,单片机就会复位 主要应用在单片机异常重启方面,比如程序跑飞(注意程序跑飞时你就…

uni-app实现小程序、H5图片轮播预览、双指缩放、双击放大、单击还原、滑动切换功能

前言 这次的标题有点长,主要是想要表述的功能点有点多; 简单做一下需求描述 产品要求在商品详情页的头部轮播图部分,可以单击预览大图,同时在预览界面可以双指放大缩小图片并且可以移动查看图片,双击放大&#xff0…

3D 生成重建035-DiffRF直接生成nerf

3D 生成重建035-DiffRF直接生成nerf 文章目录 0 论文工作1 论文方法2 实验结果 0 论文工作 本文提出了一种基于渲染引导的三维辐射场扩散新方法DiffRF,用于高质量的三维辐射场合成。现有的方法通常难以生成具有细致纹理和几何细节的三维模型,并且容易出…

中国计算机学会计算机视觉专委会携手合合信息举办企业交流活动,为AI安全治理打开“新思路”

近期,《咬文嚼字》杂志发布了2024年度十大流行语,“智能向善”位列其中,过去一年时间里,深度伪造、AI诈骗等话题屡次登上热搜,AI技术“野蛮生长”引发公众担忧。今年9月,全国网络安全标准化技术委员会发布了…

详解多租户架构下的资源隔离模式

文章目录 0.简介1.多租户概念1.1 基本概念1.2 单租户 vs 多租户 2.实现方案2.1 独立数据库方案2.1.1 优点2.1.2 缺点2.1.3 应用场景 2.2 共享数据库,独立 Schema2.2.1 优点2.2.2 缺点2.2.3 应用场景 2.3 共享数据库、共享Schema、共享表2.3.1 优点2.3.2 缺点2.3.3 应…

SMMU软件指南SMMU编程之寄存器

安全之安全(security)博客目录导读 本博客介绍了SMMUv3的编程接口: • SMMU寄存器 • 流表(Stream table) • CD(Context Descriptor) • 事件队列(Event queue) • 命令队列(…

分布式 窗口算法 总结

前言 相关系列 《分布式 & 目录》《分布式 & 窗口算法 & 总结》《分布式 & 窗口算法 & 问题》 参考文献 《【算法】令牌桶算法》 固定窗口算法 简介 固定窗口算法是最简单的流量控制算法。固定窗口算法的核心原理是将系统的生命周期划分为一个个…