负载均衡

四层负载和七层负载

四层负载根据四层网络信息如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会话保持功能

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

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181212G0B31Z00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券