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

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

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

学习

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

更多

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

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
计算机网络入门/课时/负载均衡
RawBlame
课时目录12 节

计算机网络入门

  1. 01网络为什么重要
  2. 02分层模型
  3. 03IP 地址与子网
  4. 04TCP 与 UDP
  5. 05端口与服务
  6. 06诊断工具
  7. 07防火墙概念
  8. 08负载均衡
  9. 09NAT 与反向代理
  10. 10VPN 与隧道
  11. 11排障流程
  12. 12综合练习

负载均衡

L4/L7、Nginx upstream 对照。

30 分钟

负载均衡

负载均衡把流量分到多台后端,提高可用性与吞吐。分 L4(传输层) 与 L7(应用层);CodeRoadMap 单机阶段用 Nginx 做 反向代理 + 路径分流,扩展时可加 upstream 多实例。

学习目标

  • 区分 L4 与 L7 负载均衡
  • 理解 Nginx upstream 与 health check 直觉
  • 对照本站 /api 与 / 的路径级「均衡」

核心内容

L4 vs L7

类型依据典型设备/软件能力
L4IP + 端口云 SLB、HAProxy TCP快,不懂 HTTP 路径
L7HTTP 头、路径Nginx、Traefik按 URL 路由、TLS 终止

本站 Nginx 在 L7 按 location 把 /api/* 转到 :8080,其余转到 :3000(ngx-intro)。

单机路径分流(当前架构)

                    Nginx :443
                        │
           ┌────────────┴────────────┐
           │                         │
    location /api/*            location /
           │                         │
    upstream backend            upstream platform
    127.0.0.1:8080              127.0.0.1:3000
           │                         │
    Spring Boot                 Next.js
           └──────────┬──────────────┘
                      │
                 MySQL :3306

这是 反向代理 + 路由,不是多机轮询;概念上与负载均衡同属「入口聚合」。

扩展为多实例

upstream backend {
    server 127.0.0.1:8080;
    server 127.0.0.1:8081;   # 第二实例
}

健康检查:upstream 无响应时 Nginx 返回 502(排障见 net-troubleshoot)。HTTP 层缓存与限流也在 L7 配置(http-caching)。

验证

curl -s -o /dev/null -w "%{http_code}\n" https://coderoadmap.cn/
curl -s -o /dev/null -w "%{http_code}\n" https://coderoadmap.cn/api/tracks
nginx -t && sudo nginx -s reload

练习

  • 说明 L4 负载均衡能否按 /api 路径分流
  • 阅读 deploy/nginx/prod.conf.example 中的 upstream 块
  • 画扩展为双 8080 实例时的流量图
  • 小结

    Nginx 是本站 L7 入口:443 终止 TLS,按路径分到 3000 与 8080。 下一课讲 NAT 与反向代理的关系。

    加载本节练习…
    ← 上一课防火墙概念下一课 →NAT 与反向代理