负责均衡的理解

前言:

  1. 负载均衡的核心目的是将网络流量智能、高效地分发到后端多个服务器上。它充当一个"交通指挥官"或"智能调度员",位于用户客户端和后端服务器之间,确保没有任何单个服务器因过载而性能下降或崩溃,从而提升系统的整体处理能力、可用性和可靠性
  2. 这是负载均衡概念的第一章,主要用来介绍一下负载均衡的概念

负载均衡:

背景:

  1. 业务方面:随着互联网的兴起,用户数量增加,业务复杂难度也再增加,其稳定性就成了一个重要的因素,谁的网站稳定性强,谁吸引的人就可能更多。
  2. 技术方面:一个服务器承受不了同时处理上万份客户端的连接,服务器硬件存在极限。而且出现问题后,就无法满足业务的需要了,维护升级困难。

于是就产生了负载均衡这一概念。

概念:

负载均衡(Load Balancing)作用在计算机集群、网络连接、CPU等一系列资源中分配负载,以达到最佳化资源使用,最大化吞吐率、最小化响应时间,同时避免过载的目的

核心目的:

  1. 高可用性:通过检查机制,自动屏蔽故障服务器,将流量只导向健康的服务器,确保服务持续不间断

  2. 高性能与可扩展性:通过增加服务器数量而不是升级单台服务器来轻松应对高并发流量,提升系统整体吞吐量

  3. 可维护性:可以在不影响用户访问的情况下,对后端服务器进行滚动升级、维护

  4. 安全性:作为一道屏障,可以隐藏后端服务器的真实IP,并提供基础的DDoS攻击防护和SSL终结等功能

没有负载均衡的Web架构:
  1. 如果这个服务器坏了,用户将无法访问该服务器
  2. 如果多个用户同时访问该服务器,超过了处理的极限,就会出现处理缓慢或者无法访问的情况
有负载均衡的Web架构:

在这种架构中,在用户和后端服务器群之间,引入了负载均衡器

  1. 统一入口:所有用户请求首先到达负载均衡器

  2. 智能分发:负载均衡器根据预设的算法(如轮询、最少连接数、最快响应时间等),从服务器池中选择一台后端服务器

  3. 转发请求:负载均衡器将用户请求转发给选中的服务器

  4. 返回响应:后端服务器处理请求后,将响应返回给负载均衡器,再由负载均衡器返回给用户


负载均衡的分类:

从技术层面看:

|--------|-------|--------------------------------------------------------|------------------|----------|
| | 工作层次 | 工作原理 | 核心依据 | 目的 |
| 二层负载均衡 | 数据链路层 | 通过MAC地址将网络流量分散到多条物理链路上,同时监控链路状态,当一条链路失效时,流量会自动切换到其他链路上 | MAC地址 | 链路聚合与冗余 |
| 三层负载均衡 | 网络层 | 通过路由协议发现多条路径,并利用IP地址等将去往同一目标的流量,分散到不同的下一跳上 | IP地址 和路由 | 网络路径负载 |
| 四层负载均衡 | 传输层 | 基于IP地址和TCP/UDP端口进行转发。它看到的是数据包,不关心应用层内容 | IP+TCP/UDP端口 | 服务器连接分发 |
| 七层负载均衡 | 应用层 | 基于HTTP/HTTPS等应用层协议的信息进行转发。可以解析URL、消息内容等 | HTTP/HTTPS | 智能应用请求分发 |

从产品属性分类看:

  1. 软件负载均衡:在服务器的操作系统上,安装软件,来实现负载均衡,优点是配置简单,成本低廉,可以满足大部分的负载均衡的请求
  2. 硬件负载均衡:是直接在服务器和外部网络间安装负载均衡硬件设备,这种设备被称为负载均衡器。独立于操作系统,整体性得到大幅提高,可以实现更多的负载均衡策略,可达到最佳的负载均衡需求。但是成本较高,一般只要运营商,银行等才会采用硬件负载均衡

关键调度算法

负载均衡器根据以下算法决定将请求分发给哪台服务器:

  1. 轮询:依次将请求分发给每台服务器,简单公平

  2. 最少连接 :将新请求发送给当前活跃连接数最少的服务器,非常动态且有效

  3. 源IP哈希 :根据客户端源IP地址计算哈希值,将同一IP的请求总是发给同一台服务器。用于会话保持,但可能导致负载不均

  4. URL哈希:根据请求的URL进行哈希,确保相同URL的请求(如特定用户的资源)落到同一服务器,利于缓存

  5. 加权响应时间 :将请求转发给平均响应时间最短的服务器


工作流程

一个典型的负载均衡系统包含以下工作流程:

  1. 客户端请求:用户通过IP访问服务

  2. 负载均衡器:接收所有客户端请求的实体(硬件设备、软件或云服务)

  3. 虚拟服务地址(VIP):对外提供一个统一的IP地址或域名,客户端只与此地址通信

  4. 服务器池:后端实际处理请求的服务器(Web服务器、应用服务器、数据库服务器等)

  5. 健康检查:负载均衡器定期向后端服务器发送探测请求(如HTTP GET、TCP SYN),检查其是否健康。不健康的服务器会被从池中暂时移除

  6. 流量分发:根据预设的算法,将客户端的请求转发到健康的服务器

  7. 服务器响应 :服务器处理请求后,响应通常直接返回给客户端

相关推荐
wtblszn5 分钟前
凹版印刷机智慧运维物联网系统方案
java·运维·物联网
Yula99336 分钟前
把“凌晨电话”消灭在邮件系统架构设计阶段——从运维痛点反推企业邮件系统的工程选择
运维·exchange·数据库管理员·企业邮箱管理员·企业电子邮件系统·企业通讯安全
女神下凡2 小时前
芯参谋(87):Linux 系统(SPI NOR)驱动开发指南
linux·运维·arm开发·驱动开发·嵌入式硬件·设计规范
海宇AI9 小时前
零信任架构实战:基于海宇个人风险报告构建自动化分期商城信用额度初审网关
运维·人工智能·架构·自动化
IMPYLH9 小时前
Linux 的时间为什么会被拨回去
linux·运维·服务器
2601_9632827710 小时前
寒地窄带通信工程实践:黑龙江哈尔滨对讲机选型、组网与合规运维总结
运维·服务器·网络
叼烟扛炮11 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
是真的小外套11 小时前
网络安全实战第14期:Week2周末闯关
网络·安全·web安全
xbzb11 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron
我要见SA姐112 小时前
GitHub Actions 自动化:5 个真实运维提效案例
运维·数据库·机器学习·oracle·回归