负载均衡层入门 — 四层与七层、Nginx stream、代理数据库

概述

Day33 是负载均衡层的开篇(第 1/4 部分),系统讲解四层与七层负载均衡的 OSI 模型判定标准、四层/七层的应用场景与选型对比、负载均衡软硬件方案(F5/LVS/Nginx/Haproxy)、Nginx stream 模块的四层代理配置,以及两个完整实验:四层代理 MySQL 和四层代理七层放大并发。

核心内容

四层 vs 七层负载均衡

维度四层(L4)七层(L7)
解析层次传输层(TCP/UDP)应用层(HTTP/HTTPS)
转发依据IP + PortURL、Host、Cookie 等
性能高(不解析内容)略低(需解析)
功能丰富度高(SSL 卸载、限流、会话保持)

选型对比

方案层级特点
F5 BIG-IPL4+L7硬件,性能最强,价格极高
LVSL4内核态,性能堪比 F5,开源
NginxL4+L7七层功能最强,配置简单
HaproxyL4+L7四层/七层均衡,ACL 灵活

Nginx stream 模块

  • 四层代理配置:stream { upstream {} server { listen; proxy_pass; } }
  • max_fails / fail_timeout:健康检查参数
  • 四层配置位于 nginx.conf 顶层,七层配置在 http {}

两个关键实验

  1. 四层代理 MySQL:Nginx stream 代理 MySQL 主从集群,listen 13306proxy_pass mysql_servers
  2. 四层代理七层放大并发:L4(Nginx stream)→ L7(Nginx http)→ Web 集群,突破单台七层性能瓶颈

补充概念

  • 四层代理数据库需配合读写分离Keepalived 高可用才完善
  • 动静分离:七层上分流静态资源(直接返回或用缓存服务器)和动态请求(转发到 Web 服务器)

关联