四层负载均衡器也称为四层交换机,他主要是通过分析IP层及TCP/UDP层的流量实现的基于“IP+端口” 的负载均衡。常见的基于四层的负载均衡器有LVS、F5等。
以常见的TCP应用为例,负载均衡器在收到第一个来自客户端的SYN请求时,会通过设定的负载均衡算法选择一台最佳的后端服务器,同时将报文目标IP地址修改为后端服务器IP,然后直接转发给后端服务器,这样一个负载均衡请求就完成了。从这个过程中来看,一个TCP连接是客户端和服务端直接建立的,而负载均衡只不过是完成了一个类似路由器的转发工作。在某些负载均衡器中,为保证后端负载均衡器返回的报文可以正确传递 给负载均衡器,在转发报文的同时可能还会对报文原来的源地址进行修改。整个过程如下图:
同理,七层负载均衡器也成为七层交换机,位与ISO的最高层,即应用层,此时负载均衡器支持多种应用协议,常见的有HTTP、FTP、SMTP等。七层负载均衡器可以根据报文的内容,再配合负载均衡算法来选择后端服务器,因此也称为“内容交换器”,比如,对于Web服务的负载均衡,七层负载均衡器不但可以根据“IP + 端口”的方式进行负载分流,还可以根据网站的URL,访问域名、浏览器类别、语言等决定负载均衡的策略。例如,有两台Web服务器分别对应中英文两个网站,两个域名分别是A、B,要实现访问A域名时进入中文网站,访问B域名时进入英文网站,这在四层负载均衡器中几乎无法实现的,而七层负载均衡器可以根据客户访问域名的不同选择对应的网站进而负载均衡处理。常见的七层负载均衡器有HAproxy、Nginx等。
这里仍以常见的TCP应用为例,由于 负载均衡器要获取报文的内容,因此只能先代替后端服务器和客户端建立连接,接着,才嫩收到客户端发送过来的报文内容,然后在根据该报文文件中特定子段加上负载均衡器中设置的负载均衡器算法来决定最终选择的年日不服务器。纵观整个过程,七层负载均衡器在这种情况下类似于一个代理服务器。真个过程如下图所示:
对比四层负载均衡器和七层负载均衡器运行的整个过程。可以看出,在七层负载均衡模式下,负载均衡器与客户端及客户端的服务端会分别建立一个TCP连接,而在四层负载均衡模式下,仅建立一次TCP连接。由此可知,七层负载均衡对负载均衡设备的要求更高,而七层负载均衡的处理能力也必然低于四层模式的负载均衡。
阅读(4535) | 评论(1) | 转发(0) |