高可用与负载均衡(3)之七层负载均衡的概念

preface

在蓝厂上班不但接触LVS四层均衡负载,也天天捣鼓haproxy对七层负载。七层负载均衡其实也称为内容交换,指LB分析应用层的请求数据特征,匹配相关规则后,运算某个算法后再进行调度。

七层负载均衡时序图

在七层负载均衡中,调度器或者调度软件通过请求方法,请求的uri,请求的Host等作为调度的依据,结合后端服务器的压力,进行转发。
时序图如图所示:

通过上图可得出七层负载的特点是:

  1. 模型复杂
    负载均衡器需要关心业务逻辑并且正确解析TCP数据,根据请求数据的特征,如果HTTP的主机头或者URI等信息,作为调度依据。
  2. 吞吐量小
    因为模型复杂,所以CPU处理复杂,相对于4层负载均衡来说,提供的吞吐量较小。
  3. 对后端服务器精细控制
    因为LB能够解析到应用层的特征,所以能够对客户端的请求更加合理的控制,提高后端的执行效率。比如针对域名,目录结构等。

七层负载应用场景概括起来就以下2种:

  1. 后端服务器应用的通信协议比较开放,业务逻辑比较容易实现,有成熟的开源或者商业方案。
  2. 需要提供后端服务器的计算效率。如果后端是缓存服务器,如内容缓存Memcache,http缓存squid等,基于请求的key,url等进行调度。可以提高后端服务器的执行效率,增加命中率。
posted @ 2016-11-13 17:06  温柔易淡  阅读(943)  评论(0编辑  收藏  举报