news 2026/5/9 11:05:12

Amazon Elastic Load Balancing详细介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Amazon Elastic Load Balancing详细介绍

一、什么是 Load Balancer(负载均衡)

一句话定义:

Load Balancer 位于客户端和后端服务器之间,负责把请求分发到多个后端资源上。

  • 请求(task):浏览器发来的 HTTP / HTTPS 请求

  • 资源(resource):运行应用的 EC2 实例

请求路径

Client Browser → Load Balancer → EC2 Instance → Load Balancer → Client Browser

== 负载均衡器在“请求和响应的路径中”==

二、为什么用 ELB,而不是自己装 Nginx / HAProxy?

Elastic Load Balancing(ELB)的核心优势:

能力ELB
运维✅ 无需维护
高可用✅ 默认多 AZ
自动扩缩✅ 自动适配流量
支持目标EC2 / IP / Lambda / 容器
混合架构✅ 可负载到本地 IP

“不需要你管理、自动高可用、自动扩展”

三、ELB 的三大核心能力

1️⃣ 高可用(High Availability)

  • 必须部署在多个 Availability Zones

  • AWS 自动在多个 AZ 创建负载节点

  • 单 AZ 故障 ≠ 服务不可用

2️⃣ 自动伸缩(Scalability)

自动应对流量突增

不需要你设置实例数量

对客户端是透明的

3️⃣ 健康检查(Health Checks)

健康检查 = ELB 是否继续给某台实例发流量的依据

❌ 错误做法

  • 只检查端口是否打开

  • 只访问 / 首页

✅ 正确做法(强考点)

为应用创建一个:

/monitor

该页面应检查:

  • 是否能访问数据库(如 DynamoDB)

  • 是否能访问 S3

  • 核心依赖是否可用

== 只有通过健康检查的实例,才会接收流量==

四、ELB + Auto Scaling 的协作机制

扩容(Scale Out)

  • Auto Scaling 启动新 EC2

  • ELB 进行健康检查

  • 通过后 → 开始接收流量

故障处理

  • ELB 发现实例不健康

  • 停止向其发送流量

  • 通知 Auto Scaling

  • Auto Scaling 替换实例

缩容(Scale In)& Connection Draining

  • Connection Draining(连接耗尽)

  • 不再接收新连接

  • 等待已有连接结束

  • 再终止实例

防止:用户请求中途被断开

五、ELB 的 3 个核心组件

1️⃣ Listener(监听器)

  • 客户端连接点

定义:

  • 协议(HTTP / HTTPS / TCP / TLS)

  • 端口(80 / 443 / 8080 等)

== 一个 Load Balancer 可以有多个 Listener==

2️⃣ Target Group(目标组)

后端资源集合

可以是:

  • EC2

  • IP 地址

  • Lambda

每个 Target Group 都要定义健康检查

3️⃣ Rules(规则)

把 Listener 的流量路由到 Target Group

基于条件:

  • Path(/upload)

  • Host(api.example.com)

  • Header

  • Source IP

  • Method

六、Application Load Balancer(ALB)

定位:L7(应用层)负载均衡

ALB 的核心能力

1️⃣ 基于 HTTP 内容路由

  • URL path

  • Host

  • Headers

  • Method

  • Query String

  • Source IP

== 非常适合 微服务 / API 网关===

2️⃣ TLS / HTTPS 卸载

  • SSL 证书来自:

    • ACM(推荐,免费)

    • IAM 导入

  • 客户端 ↔ ALB 加密

  • 后端无需处理 TLS

3️⃣ 直接响应客户端

  • Fixed Response(返回 HTML)

  • Redirect(HTTP → HTTPS)

4️⃣ 用户认证

  • OpenID Connect

  • SAML / LDAP / Microsoft AD

  • 在进入后端前完成认证

5️⃣ 路由算法

  • Round Robin(默认)

  • Least Outstanding Requests(重点)

当:

实例性能不同

请求复杂度不一致

使用 Least Outstanding Requests

6️⃣ Sticky Sessions

  • 基于 HTTP Cookie

  • 适用于 有状态应用

7️⃣ 安全

  • 使用 Security Group

  • 控制允许的 IP / 端口

⚠️ ALB 适用范围

✅ HTTP / HTTPS

❌ 不支持 TCP / UDP

七、Network Load Balancer(NLB)

定位:L4(连接层)负载均衡

NLB 的核心能力

1️⃣ 支持协议

  • TCP

  • UDP

  • TLS

不理解 HTTP 内容

2️⃣ 路由算法:Flow Hash

基于:

  • 协议

  • 源 IP / 端口

  • 目标 IP / 端口

  • TCP sequence

条件相同 → 一直发给同一个目标

3️⃣ Sticky Sessions

基于 Source IP

不用 Cookie

4️⃣ TLS 卸载

支持 TLS 终止

但不做 HTTP 层处理

5️⃣ 极高性能

瞬间支持百万级请求

无需预热扩容

6️⃣ IP 地址支持

Static IP

Elastic IP

👉 适用于:

客户端不能用 DNS

防火墙基于 IP 白名单

7️⃣ 保留客户端真实 IP

  • 后端看到的是真实 Client IP

  • ALB 看到的是 Load Balancer IP

八、ALB vs NLB 对比(考试必背)

特性ALBNLB
工作层级L7L4
协议HTTP / HTTPSTCP / UDP / TLS
内容路由
Path / Host 路由
用户认证
Fixed / Redirect
Sticky SessionCookieSource IP
TLS 卸载
静态 IP
保留客户端 IP
极端高吞吐⚠️

九、一句话选型总结(非常重要)

Web / API / 微服务 → ✅ ALB

TCP / UDP / 游戏 / 金融系统 → ✅ NLB

需要静态 IP / 客户端 IP → ✅ NLB

需要 URL / Header 路由 → ✅ ALB

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 8:04:11

软件I2C总线冲突避免方法:项目应用实例

软件I2C为何总“抽风”?一个真实项目中的总线冲突破局之道你有没有遇到过这种情况:系统明明跑得好好的,突然某个传感器读不到了,OLED屏幕开始花屏,甚至整个I2C总线像死了一样,只能靠复位“续命”&#xff1…

作者头像 李华
网站建设 2026/5/9 5:27:07

Dify平台接入Hunyuan-MT-7B作为定制化翻译引擎模块

Dify平台接入Hunyuan-MT-7B作为定制化翻译引擎模块 在全球化内容爆炸式增长的今天,企业、科研机构乃至个人创作者都面临着一个共同挑战:如何高效、准确地跨越语言壁垒?传统机器翻译方案要么依赖昂贵且复杂的部署架构,要么受限于通…

作者头像 李华
网站建设 2026/5/3 5:10:29

揭秘MCP云原生认证考试内幕:90%考生忽略的8个得分关键点

第一章:MCP云原生开发认证概述MCP云原生开发认证是面向现代软件工程实践的专业技术资格,聚焦于容器化、微服务架构、持续集成与交付(CI/CD)、以及基于Kubernetes的部署管理能力。该认证验证开发者在真实业务场景中设计和构建可扩展…

作者头像 李华
网站建设 2026/5/9 5:24:34

比TOP更高效:新一代系统监控工具对比

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 设计一个系统监控工具的对比分析应用:1. 收集TOP、htop、glances等工具的性能数据 2. 比较CPU/内存占用、刷新速度、功能完整性 3. 可视化展示对比结果 4. 根据用户场景…

作者头像 李华
网站建设 2026/5/1 2:30:12

AI 辅助重构 20 万行代码:渐进式重建代码秩序

关注腾讯云开发者,一手技术干货提前解锁👇01为什么要重构1.1 技术债到了临界点某次Code Review时发现一段逻辑明显写错了位置,询问作者为何如此实现,得到的回答让人无奈:"我知道应该加在哪里,但那个文…

作者头像 李华