常见方案
1.基于DNS的负载均衡
2.基于四层交换技术的负载均衡
3.基于七层交换技术的负载均衡
4.四层+七层负载结合方案
基于4层:
基于四层交换技术的负载均衡是通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器与请求客户端建立TCP连接,然后发送Client请求的数据。
client发送请求至4层负载均衡器,4层负载均衡器根据负载策略把client发送的报文目标地址(原来是负载均衡设备的IP地址)修改为后端服务器(可以是web服务器、邮件服务等)IP地址,这样client就可以直接跟后端服务器建立TCP连接并发送数据。
代表产品:LVS(开源软件),F5(硬件,贵)
优点:性能高、支持各种网络协议;
缺点:对网络依赖较大,负载智能化方面没有7层负载(比如不支持对url个性化负载)。
基于7层:
基于七层交换技术的负载均衡也称内容交换,也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的服务器。
七层负载均衡服务器起了一个代理服务器的作用,client要访问webserver要先与七层负载设备进行三次握手后建立TCP连接,把要访问的报文信息发送给七层负载均衡;然后七层负载均衡再根据设置的均衡规则选择特定的webserver,然后通过三次握手与此台webserver建立TCP连接,然后webserver把需要的数据发送给七层负载均衡设备,负载均衡设备再把数据发送给client。
代表产品:nginx(软件)、apache(软件)
优点:对网络依赖少,负载智能方案多(比如匹配url进行负载);
缺点:网络协议有限,nginx和apache支持http负载,性能没有4层负载高。
四层+七层负载结合方案:
综合上面的方案,可以在4层使用lvs(比如2台lvs组成双主或主备),7层使用NGINX(可横向扩展),NGINX反向代理到webserver。
网友评论