【理论】负载均衡

目录

  • [1. 定义](#1. 定义)
  • [2. 主要作用](#2. 主要作用)
  • [3. 实现方法](#3. 实现方法)
  • [4. 实现原理](#4. 实现原理)

1. 定义

负载均衡(Load Balancing)将网络流量、请求等输入分发到后端服务器,为后端服务器提供负载均衡,实现高可用和容错。

2. 主要作用

1. 高并发

通过将请求均匀分配到多个服务器上,提高系统的并发处理能力。

2. 容错

当某个服务器不可用时,负载均衡器会自动将请求分发给其他可用的服务器,确保系统的高可用性。

3. 压力均衡

将请求按照一定的规则分发到不同的后端服务器,实现负载均衡,使每个服务器负载均衡。

3. 实现方法

1. 硬件负载均衡

通过交换机、路由器等设备,将网络流量分发到后端服务器。常见的硬件负载均衡设备有:F5 BIG-IP、Cisco ASA、Palo Alto Networks、Fortinet、Huawei、Zyxel等。

硬件负载均衡具有高性能、高稳定性、高可用性等优点,但缺点是价格高、配置复杂等。

2. 软件负载均衡

软件负载均衡可分为基于客户端的负载均衡和基于服务器的负载均衡两种方式。基于客户端的负载均衡从服务注册中心拉取服务列表,并将服务器列表维护在本地 ,发送请求时从本地的服务器列表中选取一个发送请求;而基于服务器的负载均衡将请求发送到负载均衡器,再由负载均衡器将请求分发到后端服务器,服务列表在负载均衡器中维护。

常见的基于客户端的负载均衡器有:Ribbon、Feign、gRPC、Consul等。常见的基于服务器的负载均衡器有:Nginx、HAProxy、LVS等。

软件负载均衡具有灵活、高可扩展性、成本低等优点,但缺点是维护复杂、性能有限等。

4. 实现原理

软件负载均衡的原理是:

  1. 负载均衡器维护一个或多个后端服务器的IP地址列表;

  2. 通过心跳机制定期检查后端服务器的状态,将不可用的服务器从列表中移除,以此确保负载均衡器的可用性;

  3. 当有请求到达负载均衡器时,负载均衡器会根据一定的规则(如轮询、哈希等)将请求分发到后端服务器。

相关推荐
一条破秋裤1 小时前
Linux 线程创建:pthread_create 与基本回收
java·linux·运维
FED_AF3 小时前
Linux运维“邪修”功法之通配符
linux·运维
YOLO数据集集合4 小时前
风机叶片表面损伤检测数据集 | 风机叶片 表面损伤 污渍检测 无人机巡检 风电运维9119期
运维·人工智能·计算机视觉·目标跟踪·无人机·智慧城市·电力巡检
j7~4 小时前
【Linux网络编程】四十七.《Linux IO 模型详解:阻塞 IO、非阻塞 IO 与 IO 多路转接(select)》
linux·运维·网络·select·非阻塞io·阻塞io·i/o多路连接
分布式存储与RustFS4 小时前
用RustFS给Harbor当S3存储后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
泡海椒4 小时前
趋势分析报表:jquick-pdf折线图PDF生成实战
java·大数据·运维·服务器·前端·pdf
丸子君君5 小时前
【以麒麟服务器时间为准,定时请求时间同步】
运维·服务器·单片机
海盗12345 小时前
AI 新闻日报 2026-09-28:正确性审查自动化、7×24 个人智能体、具身部署态
运维·人工智能·机器人·自动化·人工智能aigc
元岳数字人小元5 小时前
数字人源码系统:模块化开发赋能智能场景灵活迭代升级
运维·人工智能·开源·人机交互·交互
事已至此先睡覺吧5 小时前
(三)Linux 基础指令(二):基础常用的一些指令
linux·运维·服务器