LB 负载均衡的层次结构

本文介绍了负载均衡的层次结构,从硬负载、软负载、DNS负载、CDN负载到SSL带来的负载结构变化,详细阐述了各个层次的工作原理和应用场景。随着业务发展,负载均衡的复杂性增加,如在SSL层引入独立的代理缓存层以优化性能和成本。了解这些层次有助于更好地设计和解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写图片描述

作为后端应用的开发者,我们经常开发、调试、测试完我们的应用并发布到生产环境,用户就可以直接访问到我们的应用了。但对于互联网应用,在你的应用和用户之间还隔着一层低调的或厚或薄的负载均衡层软件,它们不显山不露水默默的发挥着重要的作用,以至于我们经常忽略了它们的存在。因为负载均衡层通常不在一般开发人员的问题域内,而且它们一般都是现成且成熟的解决方案,以至于我们习惯性的忽略和认为乏善可陈。其实不然,本文就写写我对负载均衡层次结构的认知和理解。

硬负载

所谓「硬负载」就是采用硬件设备来提供负载均衡。

在七、八年前那时我在做 Java 的企业软件开发,开发出来的企业级 Java 应用程序就部署在像 Weblogic 之类的应用容器中。而这类应用容器软件又跑在 Unix 的小型机上。把硬件和软件一体打包作为企业应用解决方案卖给客户。这类应用部署的方案十分简单,层级也比较浅。为了保证可靠性,使用两套小型机上各部署一个 Weblogic Server,在应用服务前面使用像 F5 之类的硬件负载均衡器,如下图所示。

这里写图片描述

由于小型机和前面的 F5 负载均衡硬件都比较贵,所以出于可靠性、可维护性和成本的综合考虑,一般应用部署两套跑在两台小型机上,在前面共享一个 F5 做负载均衡。而一般 F5 和小型机这类硬件设备都至少是 5 个 9 的可靠性保障,所以整体的系统可靠性基本有保障。

进入互联网时代后,应用开发拥抱开源,部署使用更廉价的 PC Server 和免费开源的应用容器。负

<think>嗯,用户问负载均衡是什么,我需要先回忆一下相关知识。负载均衡,听起来像是分配工作量的机制吧?可能在网络或者服务器管理里用的多。比如,当有很多用户访问网站时,单台服务器可能处理不过来,负载均衡可以把请求分到不同的服务器上,避免某台服务器过载。这样还能提高可用性,如果一台挂了,其他的还能继续服务。 不过,具体是怎么实现的呢?可能涉及到不同的算法,比如轮询、加权轮询,或者基于响应时间的分配。另外,负载均衡器可以是硬件设备,也可以是软件,比如Nginx或者HAProxy。还有,应用和传输负载均衡有什么区别吗?比如OSI模型的不同次,四和七负载均衡策略可能不同。 用户可能想知道负载均衡的作用、原理、常见类型以及应用场景。需要解释清楚这些点,用简单易懂的例子帮助理解。比如,把服务器比作餐厅的服务员,负载均衡就是领班,根据服务员的工作量分配客人,确保高效运作。 还要注意用户可能的背景,可能是刚开始学习网络知识,或者需要部署服务器架构,所以需要兼顾基础概念和实际应用。避免使用太多专业术语,或者遇到术语时要解释清楚。比如,解释什么是健康检查,会话保持等概念。 可能还需要提到负载均衡的好处,比如提高性能、可靠性、可扩展性,以及可能的缺点,比如配置复杂,单点故障问题(虽然高可用架构可以解决)。同时,可以举一些现实中的例子,比如大型网站如何利用负载均衡处理高流量。 最后检查有没有遗漏的重要点,确保覆盖了定义、工作原理、类型、算法、优缺点和应用场景。结构上应该先定义,再逐步展开,每个部分简明扼要。使用中文,避免使用Markdown格式,保持口语化但专业。</think>负载均衡是一种将工作负载(如网络流量、计算任务等)**智能分配到多个资源**的技术,其核心目标是**优化资源利用率、提升系统性能和保障服务可靠性**。 ### 核心作用 1️⃣ **流量分发** 例如:当1000个用户同时访问网站时,负载均衡器会将请求分配给多台服务器(而不是让单台服务器承受全部压力),类似餐厅领班把客人分配到不同餐桌。 2️⃣ **故障容错** 持续监测服务器健康状态,自动屏蔽故障节点。假设某台服务器宕机,流量会立即转移到其他正常服务器,用户几乎无感知。 3️⃣ **弹性扩展** 当流量激增时,可快速添加新服务器加入资源池,负载均衡器自动调整分配策略。 --- ### 常见类型 | 类型 | 工作级 | 特点 | 典型应用场景 | |-------------|-----------------|-----------------------------|---------------------| | **四LB** | 传输(TCP/UDP)| 基于IP+端口转发,速度快 | 游戏服务器、视频流传输 | | **七LB** | 应用(HTTP等) | 能解析协议内容,策略更精细 | 电商网站、API网关 | --- ### 关键算法 - **轮询法**:像发扑克牌一样依次分配(适合服务器性能均等时) - **加权轮询**:给高性能服务器分配更多任务(权重比例例如 3:2:1) - **最小连接数**:优先选择当前连接最少的服务器 - **哈希算法**:根据用户IP等特征固定分配,保证会话连续性 --- ### 技术实现 - **硬件方案**:F5 BIG-IP等专用设备(性能强但成本高) - **软件方案**:Nginx(HTTP反向代理)、LVS(Linux虚拟服务器)、云服务商的LB产品(如AWS ALB) 例如:使用Nginx配置简单的负载均衡时,配置文件可能包含: ```nginx upstream backend { server 192.168.1.10 weight=3; server 192.168.1.11; server 192.168.1.12 backup; # 备用服务器 } location / { proxy_pass http://backend; } ``` --- ### 典型应用场景 1. **电商大促**:应对瞬间流量洪峰 2. **全球业务**:通过GSLB(全局负载均衡)实现就近访问 3. **微服务架构**:服务发现与路由的核心组件 4. **混合云部署**:协调本地IDC与云服务器的资源调度 --- **延伸思考**:现代云原生环境中,负载均衡常与自动扩缩容(Auto Scaling)结合,形成弹性计算体系。当监控到CPU使用率超过70%时,自动启动新实例并加入负载均衡池,实现真正的动态资源管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值