负载均衡的实现方式有哪些?

负载均衡实现方式常见的有: 软件负载均衡、硬件负载均衡、DNS负载均衡

扩展

  • 二层负载均衡:在数据链路层,基于MAC地址进行流量分发,较少见于实际应用中

  • 三层负载均衡:在网络层,基于IP地址来分配流量,例如某些路由器上的负载均衡功能

  • 四层负载均衡:在传输层,根据IP地址和TCP/UDP端口号来做决策,直接操作网络包进行转发

  • 七层负载均衡:在应用层,可以解析HTTP等协议内容,根据URL、Cookie等信息做更复杂的路由逻辑

软件负载均衡

软件负载均衡是最常见的,大小公司都需要用到它软件负载均衡是通过负载均衡功能的软件来实现负载均衡

常见的软件有LVS、Nginx、HAProxy.软件负载负载均衡又分四层和七层负载均衡。

  • 四层负载均衡: 在网络层利用IP 地址端口进行请求的转发,基本上就是起个转发分配作用。

  • 七层负载均衡: 可以根据访问用户的 HTTP 请求头、URL 信息将请求转发到特定的主机。

LVS 为四层负载均衡。Nginx、HAProxy 可四可七

Nginx 通常只用它来做七层负载,LVS来做四层负载。LVS 所以常见的也有这样的搭配

软件负载均衡的优点在于便宜而且简单灵活,缺点在于(和硬件负载均衡比)性能一般,流量很大的企业就用软件负载均衡顶不住

负载均衡有什么策略

负载均衡有很多种策略,这里主要介绍的是一些核心的负载均衡算法,常见的大致如下

  1. 轮询算法(Round Robin): 主要就是按照顺序将请求分配给后端服务器

  2. 加权轮询算法(Weighted Round Robin) : 在轮询算法的基础上添加权重的概念。对后端每个服务器赋予一个权重值,权重值越高,其被选中的概率就越大

  3. 随机算法(Random): 将请求随机分配给后端服务器,每个后端服务器被选中的概率一致,不考虑服务器的负载情况。缺点和轮询类似,如果后端服务器的性能差得很多,就容易导致性能较强的服务器闲置

  4. 加权随机算法(Weight Random): 在随机算法基础上,就可以根据服务器的性能设置对应的权值了,然后根据服务器的性能和处理能力调整对应的权重,减少性能强的服务器大的闲置时间。

  5. 最少连接算法(Least Connection): 根据后端服务器当前的连接数来决定请求的分配,负载均衡器会选择当前连接最少的服务器进行请求分配,保证后端服务器的负载均衡

  6. 哈希算法(Hash): 根据请求的某个特定关键字来实现负载均衡的,比如通过请求的 URL 路径、请求的IP 地址等来计算哈希值,然后根据哈希值选择相应的后端服务器,比如 Redis 集群采用的就是这种负载均衡方式。

相关推荐
七夜zippoe2 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
Fcy6484 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满4 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠4 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
主机哥哥4 小时前
阿里云OpenClaw部署全攻略,五种方案助你快速部署!
服务器·阿里云·负载均衡
Harvey9034 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技5 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀6 小时前
Linux环境变量
linux·运维·服务器
zzzsde6 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
聆风吟º7 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann