Day11 负载均衡SLB
一、详细讲解
1.1 负载均衡概述
负载均衡(Load Balancing)是将访问流量根据转发策略分发到多台后端服务器的技术,通过消除单点故障、提升应用系统的吞吐能力和可用性。
负载均衡发展背景
- 互联网初期:单机部署即可满足需求
- 业务增长期:访问量增加导致服务器延迟或宕机
- 集群方案:多台服务器组成集群,通过负载均衡设备统一分发
负载均衡分类
| 类别 | 特点 |
|---|---|
| DNS负载均衡 | 通过DNS服务器配置多个A记录实现 |
| 二层负载均衡(MAC) | 基于MAC地址分发,对应OSI第二层 |
| 三层负载均衡(IP) | 基于IP分发,对应OSI网络层 |
| 四层负载均衡(TCP/UDP) | 基于IP+端口分发,高效率 |
| 七层负载均衡(HTTP) | 基于URL、语言等应用层信息,灵活 |
最常用的是四层和七层负载均衡。
负载均衡算法
静态算法(不考虑服务器状态):
- 轮询法(RR):轮流分配请求
- 加权轮询(WRR):按权重分配
- 随机法:随机分配
- Hash类:基于关键字Hash分配
动态算法(考虑服务器实时负载):
- 最小连接法(LC):分配给连接数最少的服务器
- 加权最小连接法(WLC):综合权重和连接数
1.2 阿里云负载均衡SLB产品家族
阿里云SLB包含三种负载均衡产品:
| 产品 | 定位 | 性能 |
|---|---|---|
| ALB(应用型负载均衡) | 七层,HTTP/HTTPS/QUIC | 单实例最大100万QPS |
| NLB(网络型负载均衡) | 四层,TCP/UDP/TCPSSL | 单实例最大1亿并发 |
| CLB(传统型负载均衡) | 四层+七层,TCP/UDP/HTTP/HTTPS | 100万并发、5万QPS |
ALB特点
- 强大七层处理能力与高级路由功能
- 基于内容的路由、重写、重定向、限速
- 云原生Ingress网关支持
- 适用场景:互联网应用七层高性能、音视频、IoT、云原生金丝雀发布
NLB特点
- 新一代四层负载均衡
- 超高性能(1亿并发)、自动弹性
- 支持TCPSSL卸载
- 适用场景:四层大流量高并发、物联网、车联网
CLB特点
- 基于物理机架构
- 四层:LVS + keepalived
- 七层:Tengine集群
- 适用场景:网站四层流量分发、同城灾备
1.3 CLB核心概念
实例类型
- 公网CLB:自动分配公网IP,用于互联网访问
- 私网CLB:通过私网IP对外提供服务
实例规格
- 性能共享型:资源共享,不保障性能
- 性能保障型:可保障性能指标
高可用架构
- 单实例高可用:支持多可用区,跨机房容灾
- 多实例高可用:通过云解析DNS调度或全球负载均衡
- 两地三中心:同城双活 + 异地容灾
会话保持
- 四层:同一IP持续发往同一服务器
- 七层:相同Cookie发往同一服务器
健康检查
- 判断后端ECS业务可用性
- TCP健康检查:发送SYN报文
- HTTP健康检查:发送HEAD/GET请求,检查2xx状态码
- 异常服务器自动移除流量
SSL证书管理
- 证书统一管理在SLB,解密在SLB上进行
- 降低后端ECS的CPU开销
日志管理
- 操作日志:ActionTrail集成
- 健康检查日志:三天内,可存OSS
- 访问日志:存储SLS日志库
1.4 SLB操作配置流程
- 准备工作:规划地域、VPC、ECS实例
- 创建实例:选择网络类型、VPC、可用区、IP模式
- 创建后端服务器组:添加ECS/ECI/ENI或IP
- 配置监听:配置协议、端口、转发规则
- 设置域名解析:CNAME解析到SLB域名
监听配置要点
- 协议选择:HTTP/HTTPS/QUIC/TCP/UDP
- 端口配置
- 转发规则(ALB支持丰富规则)
- 健康检查配置
HTTP重定向至HTTPS
- 创建HTTPS监听(443端口)
- 创建HTTP监听(80端口)
- 开启监听转发,选择目的HTTPS监听
1.5 SLB最佳实践场景
| 场景 | 特点 | 推荐搭配 |
|---|---|---|
| 公网流量入口 | ECS无公网IP,提高可用性 | 弹性公网IP、NAT网关 |
| 音视频/游戏大流量 | 突发访问、海量流量、QUIC支持 | 全球加速GA、共享带宽 |
| 零售/金融弹性高可靠 | 弹性伸缩、即开即用 | 云企业网CEN |
| 云原生应用 | ACK/ASK/SAE集成 | 容器服务ACK、云数据库RDS |
| 跨地域容灾 | 多地域用户智能调度 | 云企业网CEN |
二、背诵版
2.1 负载均衡基础
- 负载均衡将流量分发到多台后端服务器,消除单点故障,提升可用性
- 四层负载均衡:基于IP+端口(TCP/UDP),效率高
- 七层负载均衡:基于应用层信息(HTTP/URL),灵活
- 静态算法:轮询、加权轮询、随机、Hash
- 动态算法:最小连接法、加权最小连接法
2.2 阿里云SLB产品家族
| 产品 | 层次 | 协议 | 性能指标 |
|---|---|---|---|
| ALB | 七层 | HTTP/HTTPS/QUIC | 100万QPS |
| NLB | 四层 | TCP/UDP/TCPSSL | 1亿并发 |
| CLB | 四层+七层 | TCP/UDP/HTTP/HTTPS | 100万并发/5万QPS |
2.3 CLB核心要点
- CLB四层:LVS + keepalived;七层:Tengine集群
- 公网CLB自动分配公网IP;私网CLB使用私网IP
- 性能保障型可保障性能指标
- 会话保持:四层基于IP,七层基于Cookie
- 健康检查:探测后端ECS可用性,异常自动移除
- SSL证书在SLB解密,减轻后端ECS压力
- 支持HTTPS重定向(HTTP→HTTPS)
2.4 SLB操作流程
创建实例 → 创建后端服务器组 → 配置监听 → 设置域名解析
2.5 典型应用场景
- 公网流量入口(高可用架构)
- 音视频/游戏大流量(QUIC协议、自动弹性)
- 零售/金融弹性高可靠(即开即用)
- 云原生Ingress网关
- 跨地域容灾(多可用区、多地域)
三、速记版
3.1 负载均衡分类速记
负载均衡分类: DNS → 二层MAC → 三层IP → 四层IP+Port → 七层HTTP (越来越灵活,效率略有下降)3.2 SLB三兄弟速记
ALB:七层应用(HTTP/HTTPS/QUIC)→ 100万QPS NLB:四层网络(TCP/UDP)→ 1亿并发 CLB:四层+七层 → 100万并发/5万QPS3.3 CLB架构速记
四层:LVS + keepalived 七层:Tengine集群 公网:自动分配公网IP 私网:私网IP,灵活绑定EIP3.4 健康检查速记
TCP:SYN → SYN+ACK HTTP:HEAD/GET → 2xx状态码 异常:流量不再转发至该服务器3.5 调度算法速记
静态(不看状态):轮询、加权轮询、随机、Hash 动态(看状态):最小连接、加权最小连接四、测试题
4.1 单选题
-
阿里云SLB产品中,专门面向七层、支持QUIC协议的是?
- A. CLB
- B. NLB
- C. ALB
- D. SLB
答案:C 解析:ALB(应用型负载均衡)专门面向七层,支持HTTP/HTTPS/QUIC协议。
-
CLB四层负载均衡的后端架构是?
- A. Tengine集群
- B. Nginx集群
- C. LVS + keepalived
- D. HAProxy集群
答案:C 解析:CLB四层使用LVS + keepalived,七层使用Tengine集群。
-
以下哪种不属于静态负载均衡算法?
- A. 轮询法
- B. 加权轮询
- C. 随机法
- D. 最小连接法
答案:D 解析:最小连接法是动态算法,考虑服务器当前连接数。
-
ALB实例单实例最大QPS是?
- A. 100万
- B. 5000
- C. 1亿
- D. 10万
答案:A 解析:ALB单实例最大支持100万QPS,NLB最大1亿并发连接。
-
HTTP监听重定向至HTTPS需要配置什么功能?
- A. 健康检查
- B. 会话保持
- C. 监听转发
- D. 虚拟服务器组
答案:C 解析:通过开启监听转发功能,将HTTP请求转发至HTTPS监听。
4.2 多选题
-
阿里云SLB产品家族包含哪些?
- A. ALB
- B. NLB
- C. CLB
- D. GLB
答案:ABC 解析:阿里云SLB包含ALB(应用型)、NLB(网络型)、CLB(传统型)。
-
以下哪些是七层负载均衡的特点?
- A. 基于IP+端口分发
- B. 基于URL或应用层信息分发
- C. 灵活性高
- D. 效率高于四层
答案:BC 解析:七层基于应用层信息(A错误),四层效率更高(D错误)。
-
SLB健康检查支持哪些协议?
- A. TCP
- B. UDP
- C. HTTP
- D. HTTPS
答案:AC 解析:健康检查支持TCP和HTTP协议,UDP健康检查不常用。
-
会话保持的实现方式包括?
- A. 四层:同一IP发往同一服务器
- B. 七层:相同Cookie发往同一服务器
- C. 四层:相同端口发往同一服务器
- D. 七层:相同URL发往同一服务器
答案:AB 解析:四层基于源IP,七层基于Cookie。
-
创建SLB的操作流程包括?
- A. 创建实例
- B. 创建后端服务器组
- C. 配置监听
- D. 配置域名解析
答案:ABCD 解析:标准流程为:准备工作→创建实例→创建后端服务器组→配置监听→设置域名解析。
4.3 判断题
-
SLB和后端ECS之间通过内网通信,无需额外配置即可访问外网。
- 答案:错误
- 解析:SLB和ECS之间是内网通信,如需ECS访问外网需要配置公网IP、NAT网关等。
-
NLB单实例最大支持1亿并发连接。
- 答案:正确
- 解析:NLB面向万物互联,单实例可达1亿并发连接和100 Gbps带宽。
-
CLB主备服务器组只支持四层监听(TCP/UDP)。
- 答案:正确
- 解析:主备服务器组特性决定只支持四层监听。
-
性能共享型实例可以保障性能指标。
- 答案:错误
- 解析:性能共享型资源共享,不保障性能;性能保障型才可保障性能指标。
-
ALB支持将HTTP请求重定向至HTTPS。
- 答案:正确
- 解析:ALB支持通过监听转发功能实现HTTP到HTTPS的重定向。
学习提示:
- 理解四层与七层负载均衡的区别与适用场景
- 掌握ALB/NLB/CLB三种产品的定位与性能指标
- 熟悉CLB的组成(实例、监听、后端服务器组)
- 了解健康检查、会话保持、SSL证书等核心功能