1. 先一句话说清
SLB = 负载均衡(阿里云 / 腾讯云等叫 SLB,AWS 叫 ALB/NLB)
Serverless = 函数计算 FC / FaaS
它们的关系:
SLB 是流量入口,负责转发请求到 Serverless 函数。
2. 典型架构(你最常用的)
plaintext
用户请求 → 域名 → DNS → SLB → 函数计算(Serverless)
SLB 在这里干 3 件事:
- 统一入口:所有流量走 SLB,函数不用暴露公网 IP
- 负载均衡:把请求分给多实例、多可用区
- 安全 / 高可用:健康检查、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