四层和七层负载均衡的区别
- 四层负载均衡
- 主要是分析IP和TCP/UDP流量实现的基于IP加端口的负载均衡。常见的四层负载均衡优LVS和F5。
- 以TCP请求为例。客户端将SYN请求发送到负载均衡器,负载均衡器会根据一个负载均衡算法选择一个合适的后端服务器,并修改SYN请求的目标地址,将SYN请求转发到相应的后端服务器。此过程可以看出客户端和服务器之间是直接建立TCP连接的,而负载均衡器相当于实现了路由器的路由转发功能;在转发报文的时候,还可修改报文的目标地址,服务器返回的报文可以正确的传递黑负载均衡器。
- 七层负载均衡
- 也称七层交换机(内容交换器)。主要是根据应用层的诸如HTTP、FTP、SMTP等协议的报文内容,配合负载均衡算法来选择后端服务器。比如对Web服务器的负载均衡,不但可以通过IP+端口的方式进行负载均衡,还可以通过URL、域名、浏览器类别或者语言等进行负载均衡。比如可以实现不同域名访问不同的网站的功能。常见的七层负载均衡器有HAProxy、Nginx等。
- 以TCP请求为例。客户端向七层负载均衡器发送SYN请求,由于此时还未建立TCP连接,客户端还未发送应用层请求报文,负载均衡器则代替后端服务器与客户端建立TCP连接。然后客户端将请求报文发送给负载均衡器,后者根据报文的内容采用负载均衡算法选择一个合适的后端服务器,并与该后端服务器建立TCP连接。在这个过程中,负载均衡器相当于一个代理服务器。
参考原文:https://www.cnblogs.com/skyflask/p/6970151.html