主题
从 0 到 1 学习负载均衡
一套面向零基础小白的中文负载均衡系统教程——用银行叫号、超市收银、外卖派单等生活例子,把晦涩的 L4/L7、一致性哈希、会话粘性、健康检查讲清楚,让你看完能画图、能选型、能避坑、面试能答。
✨ 教程亮点
- 📚 10 章正文 + 2 个附录:从「为啥要负载均衡」到 Nginx / HAProxy / 云 LB / K8s / 服务网格
- 🍞 生活化类比贯穿全文:大堂经理叫号、快递分拣中心、VIP 专属客服、队最短优先……
- 🎮 交互演示:
03_algorithms/demo.html可直观对比轮询 / 加权 / 最少连接 / 一致性哈希 - 💻 可跑代码:
code/目录用 Python 手写 5 种调度算法,零依赖,复制即跑 - 💼 80+ 道面试题:
interview.md按主题汇总,带标准答案与易错点 - 🔗 与 Nginx 教程衔接:实现细节见
front/nginx/06_load_balance
🗺 章节导航
| # | 章节 | 一句话 |
|---|---|---|
| 0 | 学习计划 | 3 周入门 / 6 周进阶路线 |
| 1 | 负载均衡是什么 | 单点 → 集群,第一性原理 |
| 2 | 架构与分层 | L4 vs L7、DNS / 硬件 / 软件 LB |
| 3 | 调度算法大全 | 轮询、加权、最少连接、一致性哈希…… |
| 4 | 健康检查 | 主动 vs 被动、探活、熔断 |
| 5 | 会话与粘性 | Cookie、IP Hash、无状态改造 |
| 6 | 软件负载均衡实战 | Nginx、HAProxy、APISIX 选型 |
| 7 | 云原生与 K8s | CLB/ALB、Ingress、Service |
| 8 | 常见踩坑 | 重试风暴、雪崩、脑裂 |
| 9 | 综合实战 | 电商大促、秒杀、微服务网关 |
| A | 面试题速查 | 大厂高频题 + 标准答法 |
| B | 术语速查表 | 中英文对照 + 一句话记忆 |
🚀 快速开始(5 分钟)
第 1 步:跑算法模拟器
bash
cd /path/to/learnNote/backend/loadblance
# 对比 5 种算法如何分发 20 个请求
python3 code/lb_simulator.py --algorithm round_robin
python3 code/lb_simulator.py --algorithm weighted_round_robin
python3 code/lb_simulator.py --algorithm least_connections
python3 code/lb_simulator.py --algorithm ip_hash --client-ip 192.168.1.100
python3 code/lb_simulator.py --algorithm consistent_hash --key user-42第 2 步:打开可视化 demo
浏览器打开 03_algorithms/demo.html,点不同算法按钮,看请求如何落到 4 台后端。
第 3 步:从第 1 章开始读
建议顺序:01_intro → 02_architecture → 03_algorithms,这三章构成「负载均衡最小知识闭环」。
📌 与周边教程的关系
┌─────────────────┐
│ 本教程(概念层) │ ← 你在这里
│ 算法 / 架构 / 选型│
└────────┬────────┘
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
front/nginx/06 backend/miniRPC/ linux/op/05_epoll
Nginx 配置实战 服务发现 + RPC LB 高并发 I/O 底座- 想配 Nginx:概念看完本章,配置细节去 Nginx 第 06 章
- 想懂微服务:本章第 7 章 +
miniRPC服务发现 - 想懂高并发:本章 + Linux epoll 系列
🎯 学完你能做什么
- 向非技术人员解释:「负载均衡就像银行大堂经理,把客户引到空闲柜台」
- 画架构图:标出 L4/L7、健康检查、会话层、后端池
- 选型:轮询还是最少连接?Nginx 还是云 CLB?要不要上服务网格?
- 避坑:重试导致重复下单、健康检查误杀、哈希漂移
- 面试:覆盖「四层七层区别」「一致性哈希」「熔断降级」「K8s Service 类型」等高频题
一句话:负载均衡不是「把请求平均分」,而是在多台机器之间做聪明调度——既要快、又要稳、还要能扛住某台机器突然挂掉。