1. 先一句话说清

SLB = 负载均衡(阿里云 / 腾讯云等叫 SLB,AWS 叫 ALB/NLB)

Serverless = 函数计算 FC / FaaS

它们的关系:

SLB 是流量入口,负责转发请求到 Serverless 函数。


2. 典型架构(你最常用的)

plaintext

用户请求 → 域名 → DNS → SLB → 函数计算(Serverless)

SLB 在这里干 3 件事:

  1. 统一入口:所有流量走 SLB,函数不用暴露公网 IP
  2. 负载均衡:把请求分给多实例、多可用区
  3. 安全 / 高可用:健康检查、HTTPS、限流、WAF 等

3. Serverless 场景下 SLB 的 3 种用法

① 公网访问(最常见)

  • 直接给函数配公网 SLB
  • 适合:网站、API、小程序后端

② 内网访问(VPC 内调用)

  • 内网 SLB 只在 VPC 里可见
  • 适合:微服务内部调用、数据库访问、内部系统

③ 七层 / 四层 怎么选?

  • 七层(HTTP/HTTPS)= 7 层 SLB / ALB
    • 能解析域名、路径、Header
    • 适合:Web、API、Serverless 函数
  • 四层(TCP/UDP)= 4 层 SLB / NLB
    • 纯转发,性能极高
    • 适合:游戏、长连接、非 HTTP 服务

Serverless 函数 99% 用 7 层 SLB。


4. 和普通 ECS 用 SLB 的区别

  • 普通:SLB → ECS
  • Serverless:SLB → 函数网关 → 函数实例

函数平台会自动扩缩容,你不用管实例数量,SLB 只负责转发。


5. 你做 Java 开发最关心的点

  • 函数可以挂在 SLB 后面当无状态服务
  • 适合:Spring Boot 打包成 Serverless 应用
  • 好处:不用管服务器、不用集群、自动扩缩容

6. 极简总结

  • SLB = 流量入口 + 负载均衡
  • Serverless + SLB = 高可用、免运维的后端服务
  • 业务场景:HTTP/HTTPS 优先用 7 层 SLB

更多推荐