上QQ阅读APP看书,第一时间看更新
1.5 L4和L7负载均衡器对比
按照七层网络协议栈的层的划分,负载均衡设备可以划分为四层(L4)负载均衡和七层(L7)负载均衡。其中,L4负载均衡是基于“IP+端口”的负载均衡,它能够对报文进行按IP分发,L7负载均衡是基于URL地址的服务器负载均衡,它能够针对七层报文内容进行解析,并根据其中的URL关键字进行逐包转发,比较常见的功能就是我们说的“动静分离”(即静态内容,如JPG、HTML、CSS和JS文件分发到Nginx服务器处理,PHP或JSP动态文件分发到Apache服务器或Tomcat服务器处理)。大家从这里应该会发现,由于L4负载均衡设备受到限制,它是不支持动静分离功能的。
L4负载均衡的典型代表是LVS,L7负载均衡的典型代表是Nginx。要说明的是,HAProxy比较特殊,它既可以做L4负载均衡设备,又可以做L7负载均衡设备。
我们对比L4和L7负载均衡可以发现,L4负载均衡设备(如LVS/DR)的优势在于面对大流量的冲击时,报文只是单方面经过四层负载均衡设备,负载均衡设备的负担很小,不易成为网站或系统的瓶颈;而L7负载均衡在分流过程中能够对应用层协议进行深度识别,带来了更精细化均衡的可能,再加上HTTP应用广泛并且相对简单,所以L7负载均衡对HTTP请求进行负载均衡的商用能力最强。当然,在复杂的Web应用场景中,接入层都是两级负载均衡架构,即“L4+L7”负载均衡。