CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
DevOps 配置与平台/课时/代理与负载均衡
RawBlame
课时目录12 节

DevOps 配置与平台

  1. 01配置管理概览
  2. 02Chef 与 Salt
  3. 03Puppet
  4. 04OpenShift
  5. 05Azure 平台
  6. 06云原生工具
  7. 07操作系统发行版
  8. 08平台搭建方法论
  9. 09代理与负载均衡
  10. 10云函数
  11. 11数据与平台设计
  12. 12综合练习

代理与负载均衡

forward-proxy、load-balancer、caching-server。

30 分钟

代理与负载均衡

生产流量 rarely 直连应用进程:Forward Proxy 管控出站、Reverse Proxy / Load Balancer 分发入站、Caching Server 卸载静态与 API 缓存。本课覆盖 /roadmaps/devops 的 forward-proxy、load-balancer、caching-server 节点,是 CodeRoadMap(Nginx 反代 Spring Boot + Next.js)平台化的关键一层,并与 kubernetes-essentials 的 Ingress/Service、devops-cloud-essentials 的云 LB 产品、dcp-setup 的架构设计衔接。

学习目标

  • 区分 正向代理、反向代理、负载均衡、缓存 的职责与典型产品
  • 能配置 Nginx / HAProxy 作为 CodeRoadMap 七层入口(TLS、路由、限流)
  • 理解 L4 vs L7 负载均衡 及云托管 LB(ALB、App Gateway、Cloud Load Balancing)的差异

三类组件对照

类型方向典型产品用途
Forward Proxy客户端 → 外网Squid、企业网关出站审计、缓存、突破内网限制
Reverse Proxy / LB外网 → 后端Nginx、HAProxy、Traefik、云 ALBTLS 终结、路由、健康检查
Caching Server读多写少Varnish、Nginx proxy_cache、CDN降低 origin 压力、加速静态
Internet
    → Cloud LB / Nginx (TLS + L7 路由)
        ├─ /          → platform (Next.js :3000)
        ├─ /api/*     → backend (Spring Boot :8080)
        └─ /static/*  → CDN / object storage
    → Forward Proxy(仅内网 CI 访问 npm/Maven 外网时)

Nginx 反向代理配置

# /etc/nginx/conf.d/coderoadmap.conf
upstream backend {
    least_conn;
    server 10.0.1.10:8080 max_fails=3 fail_timeout=30s;
    server 10.0.1.11:8080 max_fails=3 fail_timeout=30s;
    keepalive 32;
}

upstream platform {
    server 10.0.1.20:3000;
}

server {
    listen 443 ssl http2;
    server_name www.coderoadmap.example.com;

    ssl_certificate     /etc/nginx/ssl/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/privkey.pem;

    # 静态缓存
    location /_next/static/ {
        proxy_cache static_cache;
        proxy_cache_valid 200 7d;
        proxy_pass http://platform;
    }

    location /api/ {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        limit_req zone=api burst=20 nodelay;
    }

    location / {
        proxy_pass http://platform;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
# HAProxy 简例 — TCP 四层 MySQL 读分离(概念)
listen mysql-read
    bind *:3307
    mode tcp
    balance roundrobin
    option tcp-check
    server db-replica-1 10.0.2.10:3306 check
    server db-replica-2 10.0.2.11:3306 check

K8s 与云托管

  • Ingress / Gateway API:集群内 L7 路由(见 kubernetes-essentials)
  • OpenShift Route:内置 HAProxy Router(见 dcp-openshift)
  • 云 LB:AWS ALB、Azure Application Gateway、GCP External HTTP(S) LB——与 terraform-essentials 联动创建

练习

  • 为 CodeRoadMap 画入站流量路径,标注 TLS 在哪一层终结
  • 配置 limit_req 或 HAProxy rate limit,说明防 DDoS 与应用限流的边界
  • 对比 Nginx 自建反代与云 L7 LB 在成本、WAF 集成、运维负担上的差异

小结

代理与 LB = 流量入口的安全、路由、伸缩与缓存中枢。 CodeRoadMap 从单机 Nginx 扩展到多副本时,健康检查与会话保持策略是首要改造点。下一课讲 云函数 在事件驱动场景中的平台角色。

加载本节练习…
← 上一课平台搭建方法论下一课 →云函数