第一部分:核心概念
1. 集群部署
是什么? 将多台服务器(节点)组合在一起,作为一个整体向用户提供服务。这些服务器通常运行着相同的应用程序。
为什么?
-
高可用性:一台服务器宕机,其他服务器可以继续提供服务,保证业务不中断。
-
可扩展性:当用户访问量增加时,可以通过简单地增加服务器数量来提升整体处理能力(水平扩展)。
-
高性能:多台服务器共同分担计算和负载,处理能力远超单机。
-
容错性:单点故障不会导致整个系统崩溃。
常见模式:
-
主从模式:一主多从,主负责写,从负责读。常见于数据库。
-
对等模式:所有节点地位平等,都可以处理读写请求。常见于无状态应用服务器(如 Web 应用服务器)。
2. 负载均衡
是什么? 负载均衡是集群部署的“大脑”和“交通警察”。它是一种技术,通过一个前置的负载均衡器,将来自客户端的请求按照某种算法,智能地分发到后端多台真实服务器上。
为什么?
-
避免单点过载:防止所有请求都打到一台服务器上,使其过载宕机。
-
最大化吞吐量:充分利用集群中所有服务器的资源。
-
实现透明扩展:用户无感知地享受后端服务器增加带来的性能提升。
-
提供健康检查:自动发现并隔离故障节点,只将流量分发给健康的服务器。
第二部分:负载均衡器 - Nginx vs LVS
Nginx 和 LVS 是负载均衡领域两个不同层级、同样重要的解决方案。
LVS - 四层负载均衡
1. 工作层级: OSI 模型的第四层(传输层)。主要基于 IP + 端口 进行转发。 2. 工作原理: LVS 工作在 Linux 内核态,性能极高。它本身不处理请求,只是修改数据包的目标/源 IP 和端口,然后将数据包转发给后端的真实服务器(Real Server, RS)。响应数据包通常直接返回给客户端,不经过 LVS(DR 模式),效率非常高。 3. 特点: * 高性能:转发能力极强,可达每秒百万级并发,对 CPU 和内存消耗极低。 * 透明性:客户端不知道后端服务器的存在,认为服务是 LVS 提供的。 * 多种工作模式: * NAT:修改数据包的目标IP。RS 的网关必须指向 LVS。 * TUN:IP 隧道模式。LVS 和 RS 可以不在同一网络。 * DR(最常用):直接路由模式。只修改数