linux 多线路防火墙负载均衡具体是哪个更好
那么多现成的系统,没必要自己研究了吧。直接安装一台WFilter NGF或者爱快系统就可以了。
你是指多台防火墙自身做负载均衡,还是防火墙中有负载均衡的功能,给服务器或链路做负载均衡。如果是自身做负载均衡,这个防火墙要有集群功能支持;如果给服务器或链路做负载均衡建议使用专业负载均衡设备。
在常规运维工作中,经常会运用到负载均衡服务。负载均衡分为四层负载和七层负载,那么这两者之间有什么不同?
废话不多说,详解如下:
一,什么是负载均衡
1)负载均衡(Load Balance)建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡有两方面的含义:首先,大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间;其次,单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高。
2)简单来说就是:其一是将大量的并发处理转发给后端多个节点处理,减少工作响应时间;其二是将单个繁重的工作转发给后端多个节点处理,处理完再返回给负载均衡中心,再返回给用户。目前负载均衡技术大多数是用于提高诸如在Web服务器、FTP服务器和其它关键任务服务器上的Internet服务器程序的可用性和可伸缩性。
二,负载均衡分类
1)二层负载均衡(mac)
根据OSI模型分的二层负载,一般是用虚拟mac地址方式,外部对虚拟MAC地址请求,负载均衡接收后分配后端实际的MAC地址响应)
2)三层负载均衡(ip)
一般采用虚拟IP地址方式,外部对虚拟的ip地址请求,负载均衡接收后分配后端实际的IP地址响应)
3)四层负载均衡(tcp)
在三次负载均衡的基础上,用ip+port接收请求,再转发到对应的机器。
4)七层负载均衡(http)
根据虚拟的url或IP,主机名接收请求,再转向相应的处理服务器)。
我们运维中最常见的四层和七层负载均衡,这里重点说下这两种负载均衡。
1)四层的负载均衡就是基于IP+端口的负载均衡:在三层负载均衡的基础上,通过发布三层的IP地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行NAT处理,转发至后台服务器,并记录下这个TCP或者UDP的流量是由哪台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器处理。
对应的负载均衡器称为四层交换机(L4 switch),主要分析IP层及TCP/UDP层,实现四层负载均衡。此种负载均衡器不理解应用协议(如HTTP/FTP/MySQL等等)。
实现四层负载均衡的软件有:
F5:硬件负载均衡器,功能很好,但是成本很高。
lvs:重量级的四层负载软件
nginx:轻量级的四层负载软件,带缓存功能,正则表达式较灵活
haproxy:模拟四层转发,较灵活
2)七层的负载均衡就是基于虚拟的URL或主机IP的负载均衡:在四层负载均衡的基础上(没有四层是绝对不可能有七层的),再考虑应用层的特征,比如同一个Web服务器的负载均衡,除了根据VIP加80端口辨别是否需要处理的流量,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。举个例子,如果你的Web服务器分成两组,一组是中文语言的,一组是英文语言的,那么七层负载均衡就可以当用户来访问你的域名时,自动辨别用户语言,然后选择对应的语言服务器组进行负载均衡处理。
对应的负载均衡器称为七层交换机(L7 switch),除了支持四层负载均衡以外,还有分析应用层的信息,如HTTP协议URI或Cookie信息,实现七层负载均衡。此种负载均衡器能理解应用协议。
实现七层负载均衡的软件有:
haproxy:天生负载均衡技能,全面支持七层代理,会话保持,标记,路径转移;
nginx:只在http协议和mail协议上功能比较好,性能与haproxy差不多;
apache:功能较差
Mysql proxy:功能尚可。
总的来说,一般是lvs做4层负载;nginx做7层负载;haproxy比较灵活,4层和7层负载均衡都能做
三、两者之间的区别
1)从技术原理上分析
所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。
以常见的TCP为例,负载均衡设备在接收到第一个来自客户端的SYN 请求时,即通过上述方式选择一个最佳的服务器,并对报文中目标IP地址进行修改(改为后端服务器IP),直接转发给该服务器。TCP的连接建立,即三次握手是客户端和服务器直接建立的,负载均衡设备只是起到一个类似路由器的转发动作。在某些部署情况下,为保证服务器回包可以正确返回给负载均衡设备,在转发报文的同时可能还会对报文原来的源地址进行修改。
所谓七层负载均衡,也称为“内容交换”,也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。
以常见的TCP为例,负载均衡设备如果要根据真正的应用层内容再选择服务器,只能先代理最终的服务器和客户端建立连接(三次握手)后,才可能接受到客户端发送的真正应用层内容的报文,然后再根据该报文中的特定字段,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。负载均衡设备在这种情况下,更类似于一个代理服务器。负载均衡和前端的客户端以及后端的服务器会分别建立TCP连接。所以从这个技术原理上来看,七层负载均衡明显的对负载均衡设备的要求更高,处理七层的能力也必然会低于四层模式的部署方式。
简单来说,二者之间的区别
- 七层负载均衡基本都是基于http协议的,适用于web服务器的负载均衡。(nginx)
- 四层负载均衡主要是基于tcp协议报文,可以做任何基于tcp/ip协议的软件的负载均衡。(haproxy、LVS)
- 两者主要区别在于利用的报文所在的层面是不同的,各有各的好处。
- 七层应用负载的好处,是使得整个网络更”智能化“。例如访问一个网站的用户流量,可以通过七层的方式,将对图片类的请求转发到特定的图片服务器并可以使用缓存技术;将对文字类的请求可以转发到特定的文字服务器并可以使用压缩技术。当然这只是七层应用的一个小案例,从技术原理上,这种方式可以对客户端的请求和服务器的响应进行任意意义上的修改,极大的提升了应用系统在网络层的灵活性。很多在后台,例如Nginx或者Apache上部署的功能可以前移到负载均衡设备上,例如客户请求中的Header重写,服务器响应中的关键字过滤或者内容插入等功能。
- 四层负载均衡主要是较为灵活,可以作为多种软件的负载均衡器。
举个例子形象的说明:四层负载均衡就像银行的自助排号机,每一个达到银行的客户根据排号机的顺序,选择对应的窗口接受服务;而七层负载均衡像银行大堂经理,先确认客户需要办理的业务,再安排排号。这样办理理财、存取款等业务的客户,会根据银行内部资源得到统一协调处理,加快客户业务办理流程。
总结:从上面的对比看来四层负载与七层负载最大的区别就是效率与功能的区别。四层负载架构设计比较简单,无需解析具体的消息内容,在网络吞吐量及处理能力上会相对比较高,而七层负载均衡的优势则体现在功能多,控制灵活强大。在具体业务架构设计时,使用七层负载或者四层负载还得根据具体的情况综合考虑。
嵇盆尔安: 1、特点不同:lvs基于4层的网络协议的,抗负载能力强,对于服务器的硬件要求除了网卡外,其他没有太多要求.keepalived主要的工作是提供lvs控制器的一个冗余,并且对real服务器做健康检查,发现不健康的real服务器,从lvs集群中剔除,...
康定县18918632059: linux负载均衡lvs原理详细讲解 什么是lvs负载均衡技术 - ?
嵇盆尔安: LVS共有三种模式,优缺点比较如下:NAT模式优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,物理服务器可以分配Internet的保留私有地址,只有负载...
康定县18918632059: linux里的负载均衡是什么意思??? - ?
嵇盆尔安: 负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务. 负载均衡作用是建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性. 负载均衡与操作系统没关系.
康定县18918632059: linux 下,虚拟机多拨,该用什么软件做负载均衡 - ?
嵇盆尔安: 一线多拨 只能是一个运营商 多线多拨 不限于一个运营商 一线的带宽vs多线的带宽 一线的可靠性vs多线的可靠性
康定县18918632059: linux 负载均衡都有些什么软件 - ?
嵇盆尔安: 您好,很高兴为您解答.VirtualServerviaNATVS/NAT的优点是服务器可以运行任何支持TCP/IP的操作系统,它只需要一个IP地址配置在调度器上,服务器组可以用私有的IP地址.缺点是它的伸缩能力有限,当服务器结点数目升到20时,调度器本身有可
康定县18918632059: 关于linux APM 的负载均衡有什么相关的文章?不懂勿答谢谢?
嵇盆尔安: TP-Link四WAN口企业宽带路由器TL-R488T 2300元 TL-R488T四WAN口企业宽带路由器采用Intel IXP网络专用处理器,基于Intel XScale技术,主频高达266MHz,多CPU分布式处理,性能优越;同时采用六层PCB,并内置高冗余电源模块和配备...
康定县18918632059: 如何使用LVS构架负载均衡Linux集群系统 - ?
嵇盆尔安: 集群和负载均衡的区别如下:1、集群(Cluster) 所谓集群是指一组独立的计算机系统构成的一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信?应用程序可以通过网络共享内存进行消息传送,实现分布式计算机?2、负载均衡...
康定县18918632059: LVS的工作模式和特点 - ?
嵇盆尔安: 一、Virtual server via NAT(VS-NAT)优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,物理服务器可以分配Internet的保留私有地址,只有负载均衡器需要一个合法的IP地址. 缺点:...
康定县18918632059: linux双网卡绑定负载均衡不起作用怎么办 - ?
嵇盆尔安: 搜:linux链路聚合,或者看内核源码中bonding模块,里面有个bonding.txt,详细描述了各种聚合模式,你要的负载均衡冗余,可以在里面找到部署信息,还得看你物理环境的拓扑图需...