流量入口层

用户流量进入系统的完整链路: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按权重分发

主流实现:

工具场景
LVSLinux 内核级,超高性能
F5 BIG-IP硬件 / 虚拟 ADC,金融/电信级 L4/L7 转发
MetalLBK8s 裸金属环境的 LoadBalancer
NLB(AWS/阿里云)云厂商托管 L4 LB

七层负载均衡(L7)

工作在应用层(HTTP/HTTPS),能解析并操作请求内容。

能力:

  • URL 路由(/api → 后端A,/static → 后端B)
  • Header / Cookie 路由(灰度发布)
  • HTTPS 终止
  • WebSocket 代理
  • 请求/响应改写
  • 速率限制

主流实现:

工具特点
Nginx高性能,生态成熟
Envoy云原生,Service Mesh 核心
HAProxy高可靠,金融场景常用
TraefikK8s 原生,自动发现服务

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 LBL7 LBIngress
工作层TCP/UDPHTTPHTTP(K8s 资源)
性能极高中高
路由能力IP:PortURL/Header/CookieURL/Host
TLS 终止
K8s 感知
典型场景流量入口反向代理K8s 服务暴露