分布式系统_负载均衡

概述

大型网站都要面对庞大的用户量,高并发,海量数据等挑战。

为了提升系统整体的性能,可以采用垂直扩展和水平扩展两种方式。

  • 垂直扩展:从单机角度扩展,增加单机硬件(CPU、内存、磁盘)处理能力
  • 水平扩展:通过集群来分担流量。集群中的应用服务器通常被设计为无状态,用户可以请求任何一个节点

负载均衡就是将用户的访问请求,通过某种算法,分发到集群中的节点

目标是尽力将网络流量平均分发到多个服务器上

作用

高并发:提高集群的并发处理能力(吞吐量)

伸缩性:添加或减少服务器数量,由负载均衡分发控制,使集群具备伸缩性

高可用:负载均衡器可以监控候选服务器,服务不可用时自动跳过,分发给可用的服务器。

安全防护:有些负载均衡软件或硬件提供了

硬件负载均衡

在定制处理器上运行的独立负载均衡服务器,价格昂贵

功能强大、性能强悍、安全性高

成本昂贵、扩展性差

软件负载均衡

应用广泛,主流产品:Nginx、HAProxy、LVS

  • LVS可以作为四层负载均衡器,性能比Nginx好
  • HAProxy可以作为HTTP、TCP负载均衡器
  • Nginx、HAProxy可以作为四层或七层负载均衡器

扩展性好、成本低廉

性能略差

七层负载均衡

根据访问用户的HTTP请求头、URL信息将请求转发到特定的主机

DNS重定向

复杂业务不适合用

大型网站一般用DNS负载均衡器作为第一级负载均衡手段

工作原理:基于DNS查询缓存,按照负载情况返回不同服务器的IP地址

优点:使用简单、提高性能

缺点:可用性差、扩展性低、维护性差

HTTP重定向

原理:根据HTTP请求计算出一个真实的服务器地址,将该服务器地址写入HTTP重定向响应中,返回给浏览器,由浏览器重新访问

优点:方案简单

缺点:性能较差、降低搜索排名

使用较少

反向代理

以代理服务器接受网络请求,将请求转发给内网中的服务器,并将内网中的服务器上得到的结果返回给请求的客户端

主流产品:Nginx、Apache

正向代理:用户主动发起对代理服务器的请求,代理服务器访问外网,再返回给客户端

反向代理:发生在服务端,用户不知道被代理

原理:代理服务器上设置好负载均衡规则,反向代理服务器拦截到指定的域名或IP,根据负载均衡算法,将请求分发到候选服务器上(分发请求失败3次以上,分发到其他服务器上)

优点:支持多种负载均衡算法、可以监控服务器

缺点:额外转发开销、增加系统复杂度

四层负载均衡

基于IP地址和端口进行请求转发

修改IP地址

负载均衡器修改目标IP地址,起到中介的作用。

修改MAC地址

数据链路层负载均衡

负载均衡算法

随机算法

请求随即分发到候选服务器

调用量越大,负载越均衡

加权随机算法

在随机算法的基础上,按照概率调整权重

轮询

将请求依次分发到候选服务器

适合场景:各服务器处理能力相近,且各事务工作量差异不大

加权轮询

在轮询的基础上,增加权重调节转发服务器的请求数目

性能高、处理速度快的节点应该设置更高的权重

最小活跃数

将请求分发到连接数/请求数最少的候选服务器

特点:动态分配

场景:对系统负载较为敏感或请求连接时长相差较大的场景

加权最小活跃数

在最小活跃数的基础上,根据服务器的性能为每台服务器分配权重,再根据权重计算出每台服务器能处理的连接数。

源地址哈希

根据请求源IP,通过哈希计算得到一个数值,在候选服务器列表上取模运算

保证同一IP的客户端请求转发到同一个服务器上

一致性哈希

相同的请求尽可能落到同一个服务器上

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ai轨迹过京东m端

声明(a15018601872) 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本…

什么是WABF验证?

今年的618电商购物节已经落下帷幕,在此期间,各大电商平台都普遍迎来了用户访问量、优惠券领取量和交易量的显著增长。在这一时期,业务安全成为电商平台关注的焦点。验证码作为一种常见的业务安全工具,能够有效应对业务安全问题。然…

探究Qt5【元对象编译器,moc】的 设计原理和技术细节

Qt5是一个跨平台C框架,它有个突出的特点就是其元对象系统,该系统通过扩展C的能力,为事件处理提供了信号与槽机制、为对象内省提供了属性系统。为了支持这些特性,Qt引入了元对象编译器(Meta-Object Compiler, MOC&#…

单源最短路径问题(Dijstra)

#include<iostream> using namespace std; #define MAX 500 #define INT 999 typedef struct {char vex[MAX];int Edge[MAX][MAX];int vexnum,arcnum; }MGraph; void InitMG(MGraph &MG) {cout<<"输入顶点数和边数&#xff1a;";cin>>MG.vexnu…

探索区块链:颠覆性技术的崛起

目录 一、引言 二、区块链技术概述 三、区块链应用场景 四、区块链面临的挑战 五、区块链的未来展望 六、结语 一、引言 在数字化浪潮的推动下&#xff0c;区块链技术以其独特的去中心化、透明性和不可篡改性等特性&#xff0c;正在逐步改变我们的生活。从金融领域到供应…

树莓派4B_OpenCv学习笔记15:OpenCv定位物体实时坐标

今日继续学习树莓派4B 4G&#xff1a;&#xff08;Raspberry Pi&#xff0c;简称RPi或RasPi&#xff09; 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 版本是4.5.1&#xff1a; 今日学习 OpenCv定位物体实时位置&#xff0c;代码来源是…

Hi3861 OpenHarmony嵌入式应用入门--LiteOS Event

CMSIS 2.0接口使用事件标志是实时操作系统&#xff08;RTOS&#xff09;中一种重要的同步机制。事件标志是一种轻量级的同步原语&#xff0c;用于任务间或中断服务程序&#xff08;ISR&#xff09;之间的通信。 每个事件标志对象可以包含多个标志位&#xff0c;通常最多为31个&…

你的编程小助手:Kimi!!【送源码】

从OpenAI发布AI大模型到现在已经快2年时间&#xff0c;中间随着新模型的不断出现&#xff0c;也让大家认识到了AI的强大之处&#xff0c;现在AI已经渗透到我们生活&#xff0c;工作的方方面面。 这期间国产大模型也在努力发展&#xff0c;不断完善&#xff0c;甚至一些大模型在…

用Vue3和Plotly.js生成多折线图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 基于 Plotly.js 的交互式折线图绘制 应用场景介绍 本代码示例展示了如何使用 Plotly.js 库创建交互式折线图。用户可以在图中点击点以添加注释&#xff0c;从而实现数据可视化和探索。此功能可广泛应用于数据…

ai智能语音机器人在电销里发挥怎样的作用

得益于语音识别技术的的进步&#xff0c;人工智能发展越来越成熟。相信作为企业的管理者&#xff0c;都遇到过这样的事&#xff1a;一个电销新人刚刚入行&#xff0c;需求经过一两个月的学习培训才能成为一名合格的销售人员。在这段学习的期间&#xff0c;企业投入的成本是没有…

PS-抠图

在一个图片中&#xff0c;当你单独用到一个人物&#xff0c;或者物品的时候&#xff0c;你可以选择抠图&#xff0c;单独把这个人物模型给扣下来&#xff0c;不要他的背景&#xff0c;不要其他物品。 在PS中&#xff0c;我们看到一个大熊猫&#xff0c;当我们想用到这个熊猫的…

快速清理Word中的嵌套表格

实例需求&#xff1a;Word文档中表格有的单元格中包含嵌套表格&#xff08;注意其中表格中有合并单元格&#xff09;&#xff0c;如下图所示。 现在需要删除单元格顶部的嵌套表格&#xff08;如上图中的表格1和表格3&#xff09;&#xff0c;如下图所示&#xff0c;如果表格较多…

友力科技广州数据中心搬迁

搬迁工作内容 1.搬迁技术工作 1)确定机房搬迁的负责人以及负责人的联系方式&#xff0c;保证在搬迁的过程中统一指挥管理。 2)确定服务器的数量&#xff0c;服务器的型号&#xff0c;服务器的配置等&#xff0c;如有需要&#xff0c;联系相关服务器的供货商或者厂家提供技术支持…

EdgeOne 边缘函数 - 构建边缘网关

目前&#xff0c;各大主流厂商都推出了自己的边缘 Serverless 服务&#xff0c;如 CloudFlare Workers、 Vercel EdgeRuntime 等&#xff1b;腾讯云 EdgeOne 边缘函数提供了部署在边缘节点的 Serverless 代码执行环境&#xff0c;只需编写业务函数代码并设置触发规则&#xff0…

免费分享:2021年全国30米分辨率最大NDVI数据集(附下载方法)

气候变化及其对陆地生态系统的影响已成为核心议题&#xff0c;备受社会各界的瞩目。植被作为地理环境的关键构成部分&#xff0c;是气候变迁与人文活动对环境影响的敏感晴雨表。其中&#xff0c;归一化植被指数&#xff08;NDVI&#xff09;可以作为衡量地面植被状况的重要指标…

【C语言】解决C语言报错:Invalid Pointer

文章目录 简介什么是Invalid PointerInvalid Pointer的常见原因如何检测和调试Invalid Pointer解决Invalid Pointer的最佳实践详细实例解析示例1&#xff1a;未初始化的指针示例2&#xff1a;已释放的指针示例3&#xff1a;返回局部变量的指针示例4&#xff1a;野指针 进一步阅…

①常用API----Math

public static int abs(int a) // 返回参数的绝对值 public static double ceil(double a) // 返回大于或等于参数的最小整数 public static double floor(double a) // 返回小于或等于参数的最大整数 public static int round(f…

ubuntu22.04编译安装tesseract

1、 为什么用自己编译安装&#xff0c;而不采用apt安装&#xff1f; 由于tesseract有很多依赖包&#xff0c;直接用deb包或者rpm包等安装包安装很复杂&#xff0c;不一定能成功安装。 2、安装基本的依赖包 sudo apt update sudo apt install g autoconf automake libtool pkg…

float8格式

产生背景 在人工智能神经元网络中&#xff0c;一个参数用1字节表示即可&#xff0c;或者说&#xff0c;这是个猜想&#xff1a;因为图像的颜色用8比特表示就够了&#xff0c;所以说&#xff0c;猜想神经元的区分度应该小于256。 数字的分配 8比特有256个码位&#xff0c;分为…

AWS云计算平台:全方位服务与实践案例

摘要 在数字化浪潮的推动下&#xff0c;云计算已成为企业转型的强大引擎。AWS作为云计算的先锋&#xff0c;不仅提供了一系列强大的基础设施服务&#xff0c;更是在人工智能领域不断探索和创新。本文将带您领略AWS的全方位服务&#xff0c;并透过实际案例&#xff0c;感受其在…