Nginx 是一款高性能的开源反向代理服务器,它也支持负载均衡。Nginx 提供了多种负载均衡策略,这些策略可以根据实际需求进行配置。以下是一些常见的负载均衡策略:
-
轮询(Round Robin) :
- 默认的负载均衡策略,每个请求按照顺序分配到不同的后端服务器上。如果有多个后端服务器,请求将依次分发给它们,直到重新开始分发。
upstream backend { server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { location / { proxy_pass http://backend; } } -
IP Hash:
- 将客户端的 IP 地址哈希后与后端服务器列表进行匹配,这样相同的 IP 地址的请求将始终路由到相同的后端服务器上,有助于保持会话一致性。
upstream backend { ip_hash; server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { location / { proxy_pass http://backend; } } -
权重(Weighted Load Balancing) :
- 按照权重分配请求,权重越高的服务器获得的请求越多。
upstream backend { server backend1.example.com weight=3; server backend2.example.com weight=2; server backend3.example.com weight=1; } server { location / { proxy_pass http://backend; } } -
最小连接数(Least Connections) :
- 请求将被发送到当前连接数最少的服务器上。
upstream backend { least_conn; server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { location / { proxy_pass http://backend; } }
这些是一些基本的负载均衡策略,可以根据具体的应用场景选择合适的策略。在配置 Nginx 负载均衡时,还可以结合使用这些策略,根据具体需求灵活配置。