流量入口层
用户流量进入系统的完整链路:CDN → WAF → L4 LB → L7 LB → Ingress。
整体流程
用户请求
│
▼
CDN 节点(就近命中缓存)
│ miss 回源
▼
WAF / Anti-DDoS(清洗恶意流量)
│
▼
四层负载均衡 L4(TCP 转发)
│
▼
七层负载均衡 L7(HTTP 路由)
│
▼
Ingress Controller(K8s 入口)
│
├── /api/user → user-service
├── /api/order → order-service
└── /static → CDN 回源
CDN
内容分发网络,将静态资源缓存到全球边缘节点。
解决的问题:
- 静态资源加速(JS / CSS / 图片 / 视频)
- 全球访问延迟优化
- 抗 DDoS(流量在边缘节点吸收)
- TLS 卸载(边缘节点处理 HTTPS,回源走内网 HTTP)
- 缓存层(降低源站压力)
CDN 工作流程:
用户
│
▼
最近 CDN 节点
├── 命中缓存 → 直接返回(毫秒级)
└── 未命中 → 回源
│
▼
源站(K8s Ingress)
主流 CDN:
| 厂商 | 特点 |
|---|---|
| Cloudflare | 全球最大,自带 WAF、DDoS 防护 |
| Akamai | 企业级,延迟极低 |
| 阿里云 CDN | 国内首选,与阿里云生态深度集成 |
| Fastly | 边缘计算能力强 |
WAF / Anti-DDoS
WAF(Web Application Firewall):
- 防 SQL 注入、XSS、CSRF
- 基于规则或 AI 识别异常请求
- CC 攻击防护(高频相同请求)
DDoS 防护:
- 流量清洗中心:将超阈值流量引流到清洗集群
- 黑洞路由:极端情况封禁攻击 IP 段
- Anycast:将攻击流量分散到全球节点
四层负载均衡(L4)
工作在传输层(TCP/UDP),只转发数据包,不解析 HTTP。
特点:
- 性能极高(内核态处理,百万 QPS)
- 不感知 HTTP Header、Cookie
- 连接级负载均衡
算法:
| 算法 | 说明 |
|---|---|
| Round Robin | 轮询,均匀分发 |
| Least Connections | 最少连接数优先 |
| IP Hash | 同一 IP 固定到同一后端(会话保持) |
| Weighted | 按权重分发 |
主流实现:
| 工具 | 场景 |
|---|---|
| LVS | Linux 内核级,超高性能 |
| F5 BIG-IP | 硬件 / 虚拟 ADC,金融/电信级 L4/L7 转发 |
| MetalLB | K8s 裸金属环境的 LoadBalancer |
| NLB(AWS/阿里云) | 云厂商托管 L4 LB |
七层负载均衡(L7)
工作在应用层(HTTP/HTTPS),能解析并操作请求内容。
能力:
- URL 路由(
/api→ 后端A,/static→ 后端B) - Header / Cookie 路由(灰度发布)
- HTTPS 终止
- WebSocket 代理
- 请求/响应改写
- 速率限制
主流实现:
| 工具 | 特点 |
|---|---|
| Nginx | 高性能,生态成熟 |
| Envoy | 云原生,Service Mesh 核心 |
| HAProxy | 高可靠,金融场景常用 |
| Traefik | K8s 原生,自动发现服务 |
Ingress(K8s 入口)
Ingress 是 K8s 标准的 HTTP 流量路由资源,由 Ingress Controller 实现。
流量路径:
Internet
│
▼
Ingress Controller(Pod,运行在 K8s 内)
│
├── host: api.example.com / path: /user → user-service:8080
├── host: api.example.com / path: /order → order-service:8080
└── host: static.example.com → static-service:80
Ingress 资源示例:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: api-ingress
spec:
rules:
- host: api.example.com
http:
paths:
- path: /user
pathType: Prefix
backend:
service:
name: user-service
port:
number: 8080常见 Ingress Controller:
| 实现 | 特点 |
|---|---|
| nginx-ingress | 最广泛使用,功能全面 |
| Traefik | 自动发现,配置简单 |
| Kong Ingress | 内置 API Gateway 能力 |
| APISIX Ingress | 高性能,插件生态丰富 |
L4 vs L7 vs Ingress 对比
| 维度 | L4 LB | L7 LB | Ingress |
|---|---|---|---|
| 工作层 | TCP/UDP | HTTP | HTTP(K8s 资源) |
| 性能 | 极高 | 高 | 中高 |
| 路由能力 | IP:Port | URL/Header/Cookie | URL/Host |
| TLS 终止 | 否 | 是 | 是 |
| K8s 感知 | 否 | 否 | 是 |
| 典型场景 | 流量入口 | 反向代理 | K8s 服务暴露 |