负载均衡

四层负载和七层负载 

四层负载根据四层网络信息如IP、端口进行负载,可以识别同一IP或同一端口的负载到某个Real Server节点上,常用的四层负载有LVS等;

七层负载在四层负载的基础上,还支持七层网络信息即应用信息如URL、邮件地址等进行负载,常用的七层负载有Nginx等;

 

常用负载均衡算法

1、轮询

每个请求按时间顺序逐一分配到不同Real Server上,不管是否同一IP

2、加权轮询

跟轮询类似,但分给某个Real Server节点的请求有加权,如某个Real Server机器好,那么别人分一个请求,它分两个

3、ip_hash

每个请求按ip hash结果分配,同一IP会分配到同一节点,可以解决session的问题

4、url_hash

与ip_hash类似,只不过是同一URL分配到同一节点,主要适用于后端服务器能够缓存URL响应结果场景

5、fair

按后端服务器的响应时间来分配,响应时间短的优先分配,能够最大化平衡压力,适用于服务器性能不均衡的场景

 

长连接

1、四层负载的实现机制,TCP长连接后续的请求都会分配到同一个Real Server,即使没开ip_hash

2、七层负载的实现机制,HTTP长连接(底层也是TCP长连接)后续的请求默认不会分配到原有Real Server,还是按负载策略分配,固要维持长连接,必须配置cookie会话保持功能

七层长连接负载和四层长连接负载实现不一样,可能是认为应用层面的七层连接比较“重”吧,设计成重新分配比较符合使用场景。

posted @ 2018-12-11 09:34  余正忠  阅读(157)  评论(0编辑  收藏  举报