负载均衡 SLB 考试重点

云平台服务

在多台应用实例前分发流量,提升可用性与水平扩展能力。

结构示意
flowchart TB
      C[客户端] --> SLB
      SLB --> A1[实例1]
      SLB --> A2[实例2]
      SLB --> A3[实例3]
讲解视频
知识说明
负载均衡(如阿里云 SLB)把请求分到多台后端。健康检查踢掉故障机;会话保持(sticky)可缓解本地 Session 问题,但真正扩展仍建议无状态。 算法有轮询、加权、最小连接等。它解决的是物理/运行视图里的「如何把流量接到一簇对等实例」,不能替代业务层的幂等设计。
特点
  • 流量分发
  • 健康检查
  • 四层/七层
  • 与弹性伸缩配合
优点
  • 高可用
  • 易扩容
  • 对客户端暴露稳定入口
局限
  • 会话亲和有局限
  • 配置错误会导致全站故障
  • 需要后端无状态才能吃满红利
适用
Web 集群 API 入口 灰度与蓝绿的辅助
例子展示 —— 选课高峰:两台应用 + SLB
问题

单实例 CPU 打满,加机器后学生仍只打到旧 IP。

做法

域名解析到 SLB;两台 ECS 注册为后端。注意登录 Session:若粘滞会话关闭,本地 Session 会丢,应改 Redis 或 JWT。

sequenceDiagram
        participant U as 用户
        participant L as SLB
        participant A as ECS-A
        participant B as ECS-B
        U->>L: HTTPS
        L->>A: 转发
        Note over L,B: A 不健康则切到 B
// 健康检查接口,供 SLB 探测
@RestController
class HealthController {
    @GetMapping("/healthz")
    public String ok() { return "OK"; }
}
@app.get("/healthz")
def healthz():
    return "OK"