如果你已经能照着文档把 Haproxy 装起来、把 backend 指向两台 Nginx,但一被问到「session 保持怎么配」「后端挂了多久摘除」「健康检查间隔设多少合适」,就只能回去翻配置文件——那这门课正好补的就是这几块。它不讲负载均衡的历史,也不铺开讲 LVS、Nginx、Haproxy 该选谁,而是把 Haproxy 2.2 这一版从配置结构到线上调优走一遍。

先看缺口:会装不等于会配

Haproxy 的配置文件看起来简单,四个段落 global、defaults、frontend、backend,写几行就能跑。麻烦出在细节上:默认配置里的超时值能不能直接上生产?balance 选 roundrobin 还是 leastconn,取决于后端服务的请求耗时分布,而不是随手抄一个。ACL 规则写错一条,可能把整条 frontend 的流量导去默认 backend。课程从这些容易踩的位置切入,把「能跑」和「跑得住」之间的差距摆出来。

课程覆盖的几块硬内容

  • 代理模式的区别:四层(tcp)和七层(http)各自适用的场景,什么时候必须用七层才能做基于路径、域名的转发。
  • 负载均衡算法:轮询、加权轮询、最少连接、源地址哈希各自适用于什么流量特征,源地址哈希在什么情况下会失效。
  • 健康检查:主动检查和被动检查的配合,check inter、rise、fall 三个参数如何影响故障摘除速度和误判率。
  • 会话保持:基于 cookie 的插入、基于源 IP 的保持,以及后端是有状态服务时该怎么选。
  • ACL 与动静分离:用 ACL 做路径匹配,把静态请求和动态请求分到不同后端组。
  • 日志与运行时:开启日志记录,用 stats socket 在不停机的情况下调整后端权重、下线节点。

这 8 讲是系列里的第 4 部分,前面已经铺过 Linux 基础和 Nginx,所以节奏不会在「怎么装软件」上停留,重点放在配置逻辑和调优判断上。

配套练习建议

光看配置讲解记不牢,建议边看边搭一个最小环境:两台后端(Nginx 或任意 HTTP 服务即可),一台跑 Haproxy。然后刻意做几件事——手动 kill 掉一台后端的进程,观察流量多久切走、切回来时是否自动恢复;把健康检查间隔从 2s 改成 10s,看故障切换的延迟变化;给其中一台后端加权,用压测工具验证流量比例。这些操作比抄配置更能暴露理解上的空洞。课程里的实战部分也围绕类似场景展开,可以对照着做。

看完应该能回答的问题

  • frontend 和 backend 之间的绑定关系是怎么建立的,一个 frontend 能不能对应多个 backend?
  • timeout connect、timeout client、timeout server 分别管哪一段,设小了会出什么现象?
  • 后端服务重启期间,Haproxy 是直接把请求打过去还是先摘掉?靠哪个参数控制?
  • 基于 cookie 的会话保持和基于源 IP 的保持,在客户端经过 NAT 或代理时分别会有什么问题?
  • 不改配置文件、不重启进程的前提下,怎么临时把某台后端下线?

如果你正在准备 SRE 相关岗位的面试,或者手上有一套服务需要做入口层的负载均衡但不想直接上云厂商的托管方案,这门课适合当作动手前的参照。它给的是 Haproxy 2.2 这一版的实际配置思路,不是一份万能模板——看完之后,你的配置文件应该能自己讲出每一行为什么这么写。

标杆徐LinuxSre运维系列④:企业级负载均衡Haproxy2.2版本入门与实践(8讲)

课程详情

课程标题

标杆徐LinuxSre运维系列④:企业级负载均衡Haproxy2.2版本入门与实践(8讲)

课程核心介绍

本课程旨在帮助运维人员、想深入了解Haproxy的人员以及在校大学生,掌握Haproxy企业级负载均衡的应用与实践。

适合人群

- 运维人员 - 想深入了解Haproxy的人员 - 在校大学生

学习收获

通过本课程,学员将能够: - 掌握Haproxy企业级负载均衡的应用与实践 - 理解Kubernetes/k8s入门与进阶实践 - 熟悉LinuxSre工程师全套体系课程

课程亮点

- 由金牌讲师徐亮伟授课,拥有10多年开发&运维从业经验 - 擅长Linux、Shell、Nginx、Tomcat、JVM、Haproxy等技术的教学 - 授课风格通俗易懂,内容核心突出,实战项目驱动 - 深受学生和用人企业的欢迎

课程目录

01 Haproxy快速入门
  01 Haproxy基本介绍与应用场景.mp4
  02 Haproxy衡量性能指标方式.mp4
  03 Haproxy(2.2)版rpm安装.mp4
  04 04 Haproxy(2.4)版源码安装.mp4
02 haproxy配置示例
  01 Haproxy配置文件与Nginx配置区别.mp4
  02 Haproxy配置示例场景讲解.mp4
  03 实战配置Haproxy负载均衡.mp4
03 Haproxy-Gobol配置参数
  01 Haproxy-Global配置参数详解.mp4
  02 实战配置Haproxy多进程与多线程.mp4
  03 实战配置Haproxy访问日志.mp4
04 Haproxy-default-Proxy配置参数
  01 Haproxy-default段参数详解.mp4
  02 Haproxy-proxy段参数详解-1.mp4
  03 Haproxy-proxy段参数详解-2.mp4
05 Haproxy核心配置场景实践
  01 实战-Haproxy子配置管理方式.mp4
  02 实战-Haproxy基于Cookie实现会话保持.mp4
  03 实战-Haproxy状态监测页面配置与详解.mp4
  04 实战-Haproxy动态进行节点上线与下线.mp4
  05 实战-Haproxy基于脚本实现滚动升级代码.mp4
  06 实战-Haproxy针对后端节点监控的多种方式.mp4
  07 实战-Haproxy-基于http-tcp地址透传.mp4
  08 实战-Haproxy日志自定义-captrue.mp4
  09 实战-Haproxy自定义错误页面-error.mp4
  10 实战-Haproxy自定义报文-http-request.mp4
06 Haproxy调度算法详解
  01 调度算法-roundrobin-static-rr.mp4
  02 调度算法-leastconn-source.mp4
  03 调度算法-uri实践.mp4
  04 调度算法-url-param实践.mp4
  05 调度算法-hdr实践.mp4
07 Haproxy ACL规则定义与实践
  01 HaproxyACL规则基本介绍.mp4
  02 HaproxyACL规则定义与条件匹配.mp4
  03 HaproxyACL访问控制-http-tcp.mp4
  04 HaproxyACL场景-基于来源域名调度.mp4
  05 HaproxyACL场景-基于来源设备调度.mp4
  06 HaproxyACL场景-基于请求url调度.mp4
  07 HaproxyACL场景-基于请求资源类型调度.mp4
08 Haproxy 生产场景配置实践
  01 Haproxy场景实践-基于TCP协议实现MySQL负载均衡.mp4
  02 Haproxy场景实践-配置多域名单证书Https.mp4
  03 Haproxy场景实践-配置多域名多证书Https.mp4
  04 Haproxy场景实践-配置多域名部分uri走http.mp4
  05 Haproxy+Keepalived实现高可用负载均衡.mp4
  06 Haproxy负载均衡优化建议.mp4