龙空技术网

阿里云增加了7层负载均衡,7层和4层交换的负载均衡哪个好呢?

猿友会 93

前言:

今天姐妹们对“阿里云服务器f5负载均衡”大致比较着重,各位老铁们都想要知道一些“阿里云服务器f5负载均衡”的相关文章。那么小编在网上网罗了一些有关“阿里云服务器f5负载均衡””的相关文章,希望各位老铁们能喜欢,看官们一起来了解一下吧!

有段时间没上阿里云,突然发现阿里云把负载均衡服务升级了。原来只有一个选项,突然变成了两个,一个应用型负载均衡(alb),也就是7层交互的负载均衡;另一个就是原来的负载均衡,即四层交互的负载均衡。有点跟AWS靠齐的意思。那么,7层和4层交互的两种类型,选择哪种好呢。

所谓四层就是基于IP+端口的负载均衡,以常见的TCP为例,负载均衡设备在接收到第一个来自客户端的SYN 请求时,即通过上述方式选择一个最佳的服务器,并对报文中目标IP地址进行修改(改为后端服务器IP),直接转发给该服务器。TCP的连接建立,即三次握手是客户端和服务器直接建立的,负载均衡设备只是起到一个类似路由器的转发动作。采用4层交换的负载均衡,域名解析的时候指向的是负载均衡所在的IP地址。

所谓七层就是基于URL等应用层信息的负载均衡,也称为“内容交换”,也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。以常见的TCP为例,负载均衡设备如果要根据真正的应用层内容再选择服务器,只能先代理最终的服务器和客户端建立连接(三次握手)后,才可能接受到客户端发送的真正应用层内容的报文,然后再根据该报文中的特定字段,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。负载均衡设备在这种情况下,更类似于一个代理服务器。负载均衡和前端的客户端以及后端的服务器会分别建立TCP连接。所以从这个技术原理上来看,七层负载均衡明显的对负载均衡设备的要求更高,处理七层的能力也必然会低于四层模式的部署方式。

那么哪种方式更好呢?

四层模型基于更底层的设置,通常效率更高,但应用范围有限;七层模型需要更多的资源损耗,在理论上讲比四层模型有更强的功能,现在的实现更多是基于http应用。

七层负载均衡由于具备OIS七层的所有功能,所以在处理用户需求上能更加灵活,从理论上讲,七层模型能对用户的所有跟服务端的请求进行修改。例如对文件header添加信息,根据不同的文件类型进行分类转发。四层模型仅支持基于网络层的需求转发,不能修改用户请求的内容。

七层负载均衡由于具有OSI模型的全部功能,能更容易抵御来自网络的攻击;四层模型从原理上讲,会直接将用户的请求转发给后端节点,无法直接抵御网络攻击。

四层模型一般比较简单的架构,容易管理,容易定位问题;七层模型架构比较复杂,通常也需要考虑结合四层模型的混用情况,出现问题定位比较复杂。

除了购买阿里云,AWS等公有云厂商的服务外,自己也可以搭建负载均衡服务

一种是使用Nginx/LVS/HAProxy目前使用最广泛的三种负载均衡软件。一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或重要的服务,且服务器比较多时,可以考虑用LVS。

一种是通过硬件来进行,常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用;

标签: #阿里云服务器f5负载均衡