负载均衡详解
概述
负载均衡建立在现有的网络结构之上,提供了廉价、有效、透明的方式来扩展网络设备和服务器的带宽,增加了吞吐量,加强了网络数据的处理能力,提高了网络的灵活性和可用性。项目中常用的负载均衡有四层负载均衡和七层负载均衡。
四层负载均衡与七层负载均衡的对比
四层负载均衡基于 IP 地址和端口的方式实现网络的负载均衡,具体实现为对外提供一个虚拟 IP 地址和端口接收所有用户的请求,然后根据负载均衡配置和负载均衡策略请求发送给真实服务器
七层负载均衡基于 URL 等资源来实现应用层基于内容的负载均衡,具体实现为通过虚拟的 URL 或主机名接收所有用户的请求,然后将请求发送给真实的服务器
四层负载均衡和七层负载均衡的最大区别是:四层负载均衡只能针对 IP 地址和端口上的数据做统一的分发,而七层负载均衡能根据消息的内容做更加详细的有针对性的负载均衡。我们通常使用 LVS 等技术实现基于 Socket 的四层负载均衡,使用 Nginx 等技术实现基于内容分发的七层负载均衡,比如将以 user/*** 开头的 URL 请求负载到单点登录服务器,而将以 /business/*** 开头的 URL 请求负载到具体的业务服务器
负载均衡算法
1. 轮询均衡(Round Robin)
轮询均衡指将客户端的请求轮流分配到 1 至 N 台服务器上,每台服务器均被均等地分配一定数量的客户端请求。轮询均衡算法适用于集群中所有服务器都有相同的软硬件配置和服务能力的情况
2. 权重轮询均衡(Weighted Round Robin)
权重轮询均衡指根据每台服务器的不同配置及服务能力,为每台服务器都设置不同的权重值,然后按照设置的权重值轮询地将请求分配到不同的服务器上。例如,服务器 A 的权重值被设计成 3,服务器 B 的权重值被设计成3,服务器 C 的权重值被设计成 4,则服务器 A、B、C 将分别承担 30%、30%、40% 的客户端请求。权重轮询均衡算法主要用于服务器配置不均等的情况
3. 随机均衡(Random)
随机均衡指将来自网络的请求随机分配给内部的多台服务器,不考服务器的配置负载情况
4. 权重随机均衡(Weighted Random)
权重随机均衡算法类似于权重轮询算法,只是在分配请求时不再轮询发送,面是选择某个权重的服务器发送
5. 响应速度均衡(Response Time)
响应速度均衡指根据服务器设备响应速度的不同将客户端请求发送到响应速度最快的服务器上。对响应速度的获取是通过负载均衡设备定时为每台服务器都发出一个探测请求(例如 Ping)实现的。响应速度均衡能够为当前的每台服务器都根据其不同的负载情况分配不同的客户端请求,这有效避免了某台服务器单点负载过高的情况。但需要注意是这里探测到的响应速度是负载均衡设备到各台服务器之间的响应速度,并不完全代表客户端到服务器的响应速度,因此存在一定偏差
6. 最少连接数均衡(Least Connection)
最少连接数均衡指在负载均衡器内部记录当前每台服务器正在处理的连接数量,在有新的请求时,将该请求分配给连接数最少的服务器。这种均衡算法适用于网络连接和带宽有限、CPU 处理任务简单的请求服务,例如 FTP
7. 处理能力均衡
处理能力均衡算法将服务请求分配给内部负荷最轻的服务器,负荷是据服务器 CPU 型号、CPU 数量、内存大小及当前连接数等换算而成的。处理能力均衡算法由于考虑到了内部服务器的处理能力及当前网络的运行状况,所以相对来说更加精确
8. DNS 响应均衡
DNS 响应均衡算法指在分布在不同中心机房的负载均衡设备都收到同一个客户编的域名解析请求时,所有负载均衡设备均解析此域名并将解析后的服务器 IP 地址返回给客户端,客户端向收到第一个域名解析后的 IP 地址发起请求服务,而忽略其他负载均衡设备的响应
9. 哈希算法与衡
哈希算法均衡指通过一致性哈希算法和虚拟节点技术令相同参数的请求总是发送会同一台服务器,该服务器将长期、稳定地为某些客户端提供服务。在某台服务器被移除或异常宕机后,该服务器的请求基于虚拟节点技术均衡到其他服务器,而不会影响集群整售的稳定性
10. IP 地址哈希
IP 地址哈希指在负载均衡器内部维护了不同链接上客户端和服务器的 IP 地址对应关系表,将来自同一客户端的请求统一转发给相同的服务器。该算法能够以会话为单位,保证同一客户端的请求能够一直在同一台服务器上处理,主要适用于客户端和服务器需要保持长连接的场景,比如基于 TCP 长连接的应用
11. URL 哈希
URL 哈希指通过管理客户端请求 URL 信息的哈希表,将有相同 URL 的请求转发给同一台服务器。该算法主要适用于在七层负载中将不同类型的用户请求转发给不同类型的应用服务器的场景
相关文章:
负载均衡详解
概述 负载均衡建立在现有的网络结构之上,提供了廉价、有效、透明的方式来扩展网络设备和服务器的带宽,增加了吞吐量,加强了网络数据的处理能力,提高了网络的灵活性和可用性。项目中常用的负载均衡有四层负载均衡和七层负载均衡。…...
Swift与UIKit:构建卓越用户界面的艺术
标题:Swift与UIKit:构建卓越用户界面的艺术 在iOS应用开发的世界中,UIKit是构建用户界面的基石。自从Swift语言问世以来,它与UIKit的结合就为开发者提供了一个强大而直观的工具集,用于创建直观、响应迅速的应用程序。…...
Spring 中ClassPathXmlApplicationContext
ClassPathXmlApplicationContext 是 Spring Framework 的一个重要类,位于 org.springframework.context.support 包中。它是 ApplicationContext 接口的实现,专门用于从类路径下加载 XML 配置文件。通过这个类,你可以在 Spring 应用程序中设置…...
Springboot邮件发送:如何配置SMTP服务器?
Springboot邮件发送集成方法?如何提升邮件发送性能? 对于使用Springboot的开发者来说,配置SMTP服务器来实现邮件发送并不是一件复杂的事情。AokSend将详细介绍如何通过配置SMTP服务器来实现Springboot邮件发送。 Springboot邮件发送&#x…...
二叉树--堆
二叉树-堆 一、堆的概念及结构1.1 堆的概念与结构1.2 堆的性质 二、堆的实现三、堆的应用1、堆排序 一、堆的概念及结构 1.1 堆的概念与结构 堆就是完全二叉树以顺序存储方式存储于一个数组中。 然后每一个根都大于它的左孩子和右孩子的堆,我们叫做大堆ÿ…...
【K8s】专题十二(2):Kubernetes 存储之 PersistentVolume
本文内容均来自个人笔记并重新梳理,如有错误欢迎指正! 如果对您有帮助,烦请点赞、关注、转发、订阅专栏! 专栏订阅入口 Linux 专栏 | Docker 专栏 | Kubernetes 专栏 往期精彩文章 【Docker】(全网首发)Kyl…...
python3多个图片合成一个pdf文件,生产使用验证过
简单的示例代码,展示如何将多个图片合成为一个 PDF 文件。 步骤 1: 安装依赖库 首先,确保你已经安装了 Pillow 和 reportlab 库: pip install Pillow reportlab步骤 2: 编写代码 下面是一个 Python 脚本,它将指定目录中的所有图片文件合成一个 PDF 文件: from PIL im…...
Stable Diffusion赋能“黑神话”——助力悟空走进AI奇幻世界
《黑神话:悟空》是由游戏科学公司制作的以中国神话为背景的动作角色扮演游戏,将于2024年8月20日发售。玩家将扮演一位“天命人”,为了探寻昔日传说的真相,踏上一条充满危险与惊奇的西游之路。 同时,我们还可以借助AI绘…...
微信小程序登陆
一 问题引入 我们之前的登陆都是:网页http传来请求,我们java来做这个请求的校验。 但是如果微信小程序登陆,就要用到相关的api来实现。 二 快速入门 1 引入依赖 官方依赖,在里面找合适的,去设置版本号。由于我这…...
SQL - 存储过程
假设你在开发一个应用,应用有一个数据库,你要在哪里写SQL语句?你不会在你的应用代码里写语句,它会让你的应用代码很混乱且难以维护。具体在哪里呢?在存储过程中或函数中。存储过程是一组为了完成特定功能的SQL语句集合…...
RabbitMQ环境搭建
2.5.RabbitMQ 安装 a.docker方式安装: 1.在我的docker学习笔记中具有详细的安装过程 b.rpm包方式安装: 1.MQ下载地址2.这里是提前下载好后上传安装包到服务器得opt目录下: 3.安装MQ需要先有Erlang语言环境,安装文件的Linux命令…...
多视点抓取(Multi-View Grasping)
目录 前言 一、在机器人抓取检测领域里,多视点抓取是什么意思 二、以GG-CNN为例,GG-CNN是怎么结合多个视点进行抓取预测的 前言 多视点抓取(Multi-View Grasping)是机器人抓取和检测领域的一个重要概念,它涉及到机器…...
【人工智能】对智元机器人发布的远征A1所应用的AI前沿技术进行详细分析,基于此整理一份学习教程。
智元机器人在其新品发布中应用了多项AI前沿技术。我们可以从以下几个方面来分析和整理这些技术,并基于此整理一份学习教程: 一、智元机器人应用的关键AI技术 自然语言处理 (NLP) 语音识别: 利用先进的语音识别技术,如OpenAI的Whisper&#x…...
影刀RPA--如何获取网页当页数据?
(1)点击数据抓取-选择需要获取数据的地方-会弹出是否是获取整个表格(当前页面) (2)点击“是”:则直接获取整个表格数据-点击完成即可 (3)点击“否”:如果你想…...
Bean对象生命周期流程图
Bean生命周期流程图:https://www.processon.com/view/link/5f8588c87d9c0806f27358c1 Spring扫描底层流程:https://www.processon.com/view/link/61370ee60e3e7412ecd95d43...
24/8/17算法笔记 策略梯度reinforce算法
import gym from matplotlib import pyplot as plt %matplotlib inline#创建环境 env gym.make(CartPole-v0) env.reset()#打印游戏 def show():plt.imshow(env.render(mode rgb_array))plt.show() show()定义网络模型 import torch #定义模型 model torch.nn.Sequential(t…...
【Linux学习】Linux开发工具——vim
🔥个人主页: Forcible Bug Maker 🔥专栏:Linux学习 目录 🌈前言🔥vim的基本概念🔥vim的基本操作🔥vim命令模式的命令集🔥简单vim配置⭐一键配置美观的vim安装方法卸载方…...
【2025校招】4399 NLP算法工程师笔试题
目录 1. 第一题2. 第二题3. 第三题 ⏰ 时间:2024/08/19 🔄 输入输出:ACM格式 ⏳ 时长:2h 本试卷分为单选,自我评价题,编程题 单选和自我评价这里不再介绍,4399的编程题一如既往地抽象ÿ…...
数据库原理--关系1
目录 一、表的基本构成要素 二、域(Domain) 三、笛卡尔积 四、关系模式 五、关系模式与关系 六、关系的特性 一、表的基本构成要素 表又被叫做关系,在数据库当中,我们可以把行叫做元组和记录,而列在数据库当中通常被我们叫做字段或者…...
【人工智能】AI工程化是将人工智能技术转化为实际应用、创造实际价值的关键步骤
AI工程化是将人工智能技术转化为实际应用、创造实际价值的关键步骤。以下是对AI工程化的详细介绍: 一、概念与定义 AI工程化是使用数据处理、预训练模型、机器学习流水线等技术开发AI软件的过程,旨在帮助企业更高效地利用AI创造价值。它是软件工程在AI…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...
水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...
02.运算符
目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&:逻辑与 ||:逻辑或 !:逻辑非 短路求值 位运算符 按位与&: 按位或 | 按位取反~ …...
【大模型】RankRAG:基于大模型的上下文排序与检索增强生成的统一框架
文章目录 A 论文出处B 背景B.1 背景介绍B.2 问题提出B.3 创新点 C 模型结构C.1 指令微调阶段C.2 排名与生成的总和指令微调阶段C.3 RankRAG推理:检索-重排-生成 D 实验设计E 个人总结 A 论文出处 论文题目:RankRAG:Unifying Context Ranking…...
ubuntu中安装conda的后遗症
缘由: 在编译rk3588的sdk时,遇到编译buildroot失败,提示如下: 提示缺失expect,但是实测相关工具是在的,如下显示: 然后查找借助各个ai工具,重新安装相关的工具,依然无解。 解决&am…...
HTML版英语学习系统
HTML版英语学习系统 这是一个完全免费、无需安装、功能完整的英语学习工具,使用HTML CSS JavaScript实现。 功能 文本朗读练习 - 输入英文文章,系统朗读帮助练习听力和发音,适合跟读练习,模仿学习;实时词典查询 - 双…...
