WEB服务器的负载均衡

WEB服务器的负载均衡

七层负载均衡的实现

基于URL等应用层信息的负载均衡

Nginx的proxy

功能强大性能卓越运行稳定

配置简单灵活

能够自动给剔除工作不正常的后端服务器

上传文件使用异步模式

支持多种分配策略

Nginx 负载均衡

加权轮询

首先将请求都分给高权重机器,直到该机器的权重值降到比其他机器低,才开始将请求分给下一个高权重的机器当所有后端机器都down掉时,Nginx会立即将所有机器的标志位清成初始状态,以避免造成所有的机器都处在timeout的状态

IP Hash策略

Nginx 内置的另一种负载均衡的策略,流程和轮询很类似,只是其中的算法和具体的策略有些变化IP hash算法时一种变相的轮询算法

fair 策略

根据后端服务器的响应时间判断负载情况,从中选出负载最轻的机器

通用Hash 一致性Hash策略

通用hash比较简单,可以以nginx内置的变量位key进行hash,一致性hash采用nginx内置的一致性hash环,支持memcache

Nginx 配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
http {
upstream <负载均衡器名称> {
server srv1 weight=10;
server srv2;
server srv3;
}
server{
listen 80

location /
{
proxy_pass http://<负载均衡器名称>
}
}
}

四层负载均衡

根据报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器

LVS实现的服务器负载均衡有三种方式,NAT DR 和 TUN