一、四层和七层负载均衡
四层负载均衡工作在OSI七层模型的第四层,主要根据TCP/UCP协议的IP和端口,将用户请求转发到对应的服务器。常见的有LVS、HAProxy和F5等;
七层负载均衡工作在OSI七层模型的第七层,除了根据IP和端口,还会根据七层协议如DNS、HTTP等对请求做转发。常见的有Nginx、HAProxy等。
二、Nginx负载均衡策略
- ip_hash:通过客户端IP地址作为哈希键,将相同IP地址客户端的请求转发到同一个后端服务器。在需要跟踪用户会话的情况下非常有用;
- url_hash:按照访问URL的hash结果来分配请求,对相同URL的请求转发到同一个后端服务器;
- least_conn:将请求转发到活跃连接数最少的后端服务器;
- 轮询:默认情况下会使用轮询算法,确保将所有访问均匀地分配给每一个后端服务器;
- 加权轮询:通过weight参数指定每个后端服务器的权重,权重高的分配的请求越多。
可选参数:
- weight:设置后端服务器的权重,权重高的后端服务器被分配的请求越多;
- backup:当其它后端服务器宕机时,此参数标记的后端服务器才会接收请求;
- down:此参数标记的后端服务器不接收任何请求;
- max_fails:尝试对一个后端服务器连接的最大次数,超过这个次数,后端服务器被标记为down状态;
- fail_timeout:后端服务器返回响应的超时时间,如果超过这个