四层负载均衡:
基于ip和端口的负载均衡;
通过虚拟ip和端口接收请求,然后分配到真实的服务器
七层负载均衡:
基于url等应用层信息的负载均衡;
通过虚拟的url或主机接受请求,然后再分配到真实的服务器
所谓的四七层负载均衡,就是在对后台的服务器进行负载均衡时,依据四层的信息或者七层的信息来决定怎么进行流量转发。
比如四层负载均衡,就是通过发布三层的ip地址(vip),然后加四层的端口,来决定哪些流量要做负载均衡,对需要处理的流量进行nat处理,转发至后台服务器,并记录下这个tcp或者udp的流量是由哪台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器。
七层的负载均衡,就是在四层的基础上(没有四层是绝对不可能有七层的),再考虑应用层的特征,比如一台web服务器的负载均衡,除了根据vip加80端口来辨别是否需要处理的流量,还可根据七层的url,浏览器类别,语言来决定是否要进行负载均衡。
负载均衡器通常称为四层交换机或七层交换机。四层交换机主要分析IP层及TCP/UDP层,实现四层流量负载均衡。七层交换机除了支持四层负载均衡以外,还有分析应用层的信息,如HTTP协议URI或Cookie信息。
1、负载均衡分为L4 switch(四层交换),即在OSI第4层工作,就是TCP层啦。此种Load Balance不理解应用协议(如HTTP/FTP/MySQL等等)。例子:LVS,F5。
2、另一种叫做L7 switch(七层交换),OSI的最高层,应用层。此时,该Load Balancer能理解应用协议。例子: haproxy,MySQL Proxy。
注意:上面的很多Load Balancer既可以做四层交换,也可以做七层交换