四层LB和七层LB

总结: 基于MAC地址玩的是二层(虚拟MAC地址接收请求,而后再分配到真实的MAC地址),
      基于IP地址玩的是三层(虚拟IP地址接收请求,而后再分配到真实的IP地址),
      基于IP地址加端口玩的是四层(虚拟IP+端口接收请求,而后再分配到真实的服务器)
      基于URL玩的是七层.(虚拟的URL或主机名接收请求,而后再分配到真实的服务器)浏览器



  简单理解四层和七层负载均衡:

  1.所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会经过一个虚拟MAC地址接收请求,而后再分配到真实的MAC地址;三层负载均衡会经过一个虚拟IP地址接收请求,而后再分配到真实的IP地址;四层经过虚拟IP+端口接收请求,而后再分配到真实的服务器;七层经过虚拟的URL或主机名接收请求,而后再分配到真实的服务器。安全

 

  2.所谓的四到七层负载均衡,就是在对后台的服务器进行负载均衡时,依据四层的信息或七层的信息来决定怎么样转发流量。 好比四层的负载均衡,就是经过发布三层的IP地址(VIP),而后加四层的端口号,来决定哪些流量须要作负载均衡,对须要处理的流量进行NAT处理,转发至后台服务器,并记录下这个TCP或者UDP的流量是由哪台服务器处理的,后续这个链接的全部流量都一样转发到同一台服务器处理。七层的负载均衡,就是在四层的基础上(没有四层是绝对不可能有七层的),再考虑应用层的特征,好比同一个Web服务器的负载均衡,除了根据VIP加80端口辨别是否须要处理的流量,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。举个例子,若是你的Web服务器分红两组,一组是中文语言的,一组是英文语言的,那么七层负载均衡就能够当用户来访问你的域名时,自动辨别用户语言,而后选择对应的语言服务器组进行负载均衡处理。服务器

 

  3.负载均衡分为L4 switch(四层交换),即在OSI第4层工做,就是TCP层啦。此种Load Balance不理解应用协议(如HTTP/FTP/MySQL等等)。例子:LVS,F5。另外一种叫作L7 switch(七层交换),OSI的最高层,应用层。此时,该Load Balancer能理解应用协议。例子:  haproxy,MySQL Proxy。网络

 

第七层负载均衡优势表如今以下几个方面: 

  经过对HTTP报头的检查,能够检测出HTTP400、500和600系列的错误信息,于是能透明地将链接请求从新定向到另外一台服务器,避免应用层故障。

  可根据流经的数据类型(如判断数据包是图像文件、压缩文件或多媒体文件格式等),把数据流量引向相应内容的服务器来处理,增长系统性能。

  能根据链接请求的类型,如是普通文本、图象等静态文档请求,仍是asp、cgi等的动态文档请求,把相应的请求引向相应的服务器来处理,提升系统的性能及安全性。

  第七层负载均衡受到其所支持的协议限制(通常只有HTTP),这样就限制了它应用的普遍性,而且检查HTTP报头会占用大量的系统资源,势必会影响到系统的性能,在大量链接请求的状况下,负载均衡设备自身容易成为网络总体性能的瓶颈。负载均衡

相关文章
相关标签/搜索