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操作配置流程

  1. 准备工作:规划地域、VPC、ECS实例
  2. 创建实例:选择网络类型、VPC、可用区、IP模式
  3. 创建后端服务器组:添加ECS/ECI/ENI或IP
  4. 配置监听:配置协议、端口、转发规则
  5. 设置域名解析:CNAME解析到SLB域名

监听配置要点

  • 协议选择:HTTP/HTTPS/QUIC/TCP/UDP
  • 端口配置
  • 转发规则(ALB支持丰富规则)
  • 健康检查配置

HTTP重定向至HTTPS

  1. 创建HTTPS监听(443端口)
  2. 创建HTTP监听(80端口)
  3. 开启监听转发,选择目的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万QPS

3.3 CLB架构速记

四层:LVS + keepalived 七层:Tengine集群 公网:自动分配公网IP 私网:私网IP,灵活绑定EIP

3.4 健康检查速记

TCP:SYN → SYN+ACK HTTP:HEAD/GET → 2xx状态码 异常:流量不再转发至该服务器

3.5 调度算法速记

静态(不看状态):轮询、加权轮询、随机、Hash 动态(看状态):最小连接、加权最小连接

四、测试题

4.1 单选题

  1. 阿里云SLB产品中,专门面向七层、支持QUIC协议的是?

    • A. CLB
    • B. NLB
    • C. ALB
    • D. SLB

    答案:C 解析:ALB(应用型负载均衡)专门面向七层,支持HTTP/HTTPS/QUIC协议。

  2. CLB四层负载均衡的后端架构是?

    • A. Tengine集群
    • B. Nginx集群
    • C. LVS + keepalived
    • D. HAProxy集群

    答案:C 解析:CLB四层使用LVS + keepalived,七层使用Tengine集群。

  3. 以下哪种不属于静态负载均衡算法?

    • A. 轮询法
    • B. 加权轮询
    • C. 随机法
    • D. 最小连接法

    答案:D 解析:最小连接法是动态算法,考虑服务器当前连接数。

  4. ALB实例单实例最大QPS是?

    • A. 100万
    • B. 5000
    • C. 1亿
    • D. 10万

    答案:A 解析:ALB单实例最大支持100万QPS,NLB最大1亿并发连接。

  5. HTTP监听重定向至HTTPS需要配置什么功能?

    • A. 健康检查
    • B. 会话保持
    • C. 监听转发
    • D. 虚拟服务器组

    答案:C 解析:通过开启监听转发功能,将HTTP请求转发至HTTPS监听。

4.2 多选题

  1. 阿里云SLB产品家族包含哪些?

    • A. ALB
    • B. NLB
    • C. CLB
    • D. GLB

    答案:ABC 解析:阿里云SLB包含ALB(应用型)、NLB(网络型)、CLB(传统型)。

  2. 以下哪些是七层负载均衡的特点?

    • A. 基于IP+端口分发
    • B. 基于URL或应用层信息分发
    • C. 灵活性高
    • D. 效率高于四层

    答案:BC 解析:七层基于应用层信息(A错误),四层效率更高(D错误)。

  3. SLB健康检查支持哪些协议?

    • A. TCP
    • B. UDP
    • C. HTTP
    • D. HTTPS

    答案:AC 解析:健康检查支持TCP和HTTP协议,UDP健康检查不常用。

  4. 会话保持的实现方式包括?

    • A. 四层:同一IP发往同一服务器
    • B. 七层:相同Cookie发往同一服务器
    • C. 四层:相同端口发往同一服务器
    • D. 七层:相同URL发往同一服务器

    答案:AB 解析:四层基于源IP,七层基于Cookie。

  5. 创建SLB的操作流程包括?

    • A. 创建实例
    • B. 创建后端服务器组
    • C. 配置监听
    • D. 配置域名解析

    答案:ABCD 解析:标准流程为:准备工作→创建实例→创建后端服务器组→配置监听→设置域名解析。

4.3 判断题

  1. SLB和后端ECS之间通过内网通信,无需额外配置即可访问外网。

    • 答案:错误
    • 解析:SLB和ECS之间是内网通信,如需ECS访问外网需要配置公网IP、NAT网关等。
  2. NLB单实例最大支持1亿并发连接。

    • 答案:正确
    • 解析:NLB面向万物互联,单实例可达1亿并发连接和100 Gbps带宽。
  3. CLB主备服务器组只支持四层监听(TCP/UDP)。

    • 答案:正确
    • 解析:主备服务器组特性决定只支持四层监听。
  4. 性能共享型实例可以保障性能指标。

    • 答案:错误
    • 解析:性能共享型资源共享,不保障性能;性能保障型才可保障性能指标。
  5. ALB支持将HTTP请求重定向至HTTPS。

    • 答案:正确
    • 解析:ALB支持通过监听转发功能实现HTTP到HTTPS的重定向。

学习提示

  • 理解四层与七层负载均衡的区别与适用场景
  • 掌握ALB/NLB/CLB三种产品的定位与性能指标
  • 熟悉CLB的组成(实例、监听、后端服务器组)
  • 了解健康检查、会话保持、SSL证书等核心功能