负载均衡器技术Nginx和F5的优缺点对比
这是网上摘抄的文章,正好想了解一下负载均衡,看这篇文章写的比较易懂,就。。。。
对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。
目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高网络层负载均衡,以及链路聚合技术。
腾讯、淘宝、新浪等大型门户及商业网站使用的是软负载均衡器Nginx,而农行用的是F5硬负载均衡器,这里就简单介绍下这两种技术:
一.软件负载均衡解决方案
在一台服务器的操作系统上,安装一个附加软件来实现负载均衡,如Nginx负载均衡(我们管理系统平台使用的也是这款均衡器)。它的优点是基于特定环境、配置简单、使用灵活、成本低廉,可以满足大部分的负载均衡需求。
1.什么是Nginx
Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。可以说Nginx是目前使用最为广泛的HTTP软负载均衡器,其将源代码以类BSD许可证的形式发布(商业友好),同时因高效的性能、稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名于业界。像腾讯、淘宝、新浪等大型门户及商业网站都采用Nginx进行HTTP网站的数据分流。
2.Nginx的功能特点
a.工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构;
b.Nginx对网络的依赖比较小;
c.Nginx安装和配置比较简单,测试起来比较方便;
d.也可以承担高的负载压力且稳定,一般能支撑超过1万次的并发;
e.Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点,不过其中缺点就是不支持url来检测;
f.Nginx对请求的异步处理可以帮助节点服务器减轻负载;
g.Nginx能支持http和Email,这样就在适用范围上面小很多;
h.不支持Session的保持、对Big request header的支持不是很好,另外默认的只有Round-robin和IP-hash两种负载均衡算法。
3.Nginx的原理
Nginx采用的是反向代理技术,代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。反向代理负载均衡技术是把将来自internet上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。
二.硬件负载均衡解决方案
直接在服务器和外部网络间安装负载均衡设备,这种设备我们通常称之为负载均衡器。由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵,比如最常见的就是F5负载均衡器。
1.什么是F5 BIG-IP
F5负载均衡器是应用交付网络的全球领导者F5 Networks公司提供的一个负载均衡器专用设备,F5 BIG-IP LTM 的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡、应用交换、会话交换、状态监控、智能网络地址转换、通用持续性、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能HTTP压缩、TCP优化、第7层速率整形、内容缓冲、内容转换、连接加速、高速缓存、Cookie加密、选择性内容加密、应用攻击过滤、拒绝服务(DoS)攻击和SYN Flood保护、防火墙—包过滤、包消毒等功能。
2.F5 BIG-IP用作HTTP负载均衡器的主要功能
a.F5 BIG-IP提供12种灵活的算法将所有流量均衡的分配到各个服务器,而面对用户,只是一台虚拟服务器。
b.F5 BIG-IP可以确认应用程序能否对请求返回对应的数据。假如F5 BIG-IP后面的某一台服务器发生服务停止、死机等故障,F5会检查出来并将该服务器标识为宕机,从而不将用户的访问请求传送到该台发生故障的服务器上。这样,只要其它的服务器正常,用户的访问就不会受到影响。宕机一旦修复,F5 BIG-IP就会自动查证应用已能对客户请求作出正确响应并恢复向该服务器传送。
c.F5 BIG-IP具有动态Session的会话保持功能。
d.F5 BIG-IP的iRules功能可以做HTTP内容过滤,根据不同的域名、URL,将访问请求传送到不同的服务器。
三.方案优缺点对比
1.基于硬件的方式(F5)
优点:能够直接通过智能交换机实现,处理能力更强,而且与系统无关,负载性能强更适用于一大堆设备、大访问量、简单应用。
缺点:成本高,除设备价格高昂,而且配置冗余,很难想象后面服务器做一个集群,但最关键的负载均衡设备却是单点配置;无法有效掌握服务器及应用状态。
硬件负载均衡,一般都不管实际系统与应用的状态,而只是从网络层来判断,所以有时候系统处理能力已经不行了,但网络可能还来 得及反应(这种情况非常典型,比如应用服务器后面内存已经占用很多,但还没有彻底不行,如果网络传输量不大就未必在网络层能反映出来)。
2.基于软件的方式(Nginx)
优点:基于系统与应用的负载均衡,能够更好地根据系统与应用的状况来分配负载。这对于复杂应用是很重要的,性价比高,实际上如果几台服务器,用F5之类的硬件产品显得有些浪费,而用软件就要合算得多,因为服务器同时还可以跑应用做集群等。
缺点:负载能力受服务器本身性能的影响,性能越好,负载能力越大。
国内据说迪普和深信服做的不错,手头没有啥资料,就不介绍了。
关东安博: 在OSI网络体系中,IP网络层是第3层,TCP/UDP传输层是第4层,而HTTP等应用层则是第7层,因此,在Web场景中,需求量最大的自然是7层负载均衡,而Nginx非常擅长应用层的协议处理,这体现在以下4个方面:1.通过多路复用、事件驱动等技术,Nginx可以轻松支持C10M级别的并发;2.能够充分使用CPU、内存等硬件,极高的效率使它可以同时为几十台上游服务器提供负载均衡功能;3.架构很灵活,它允许任何第三方以C模块的形式,与官方模块互相协作,给用户提供各类功能;4.使用了非常开放的2-clause BSD-like license源码许可协议,它意味着你在修改Nginx源码后,还可以作为商业用途发布.
新和县13360251561: 请问负载设备F5和A10哪个比较好一点? - ?
关东安博: 肯定是F5好了,F5几乎成了负载均衡的代名词,不过价格也是最高的,F5在负载均衡类产品中影响最大,除了F5以外,还有Radware、Array、A10、Cisco、深信服和华夏创新等,A10产品也不错,但是比F5还是差了很多.
新和县13360251561: nginx负载均衡的算法怎么实现的 - ?
关东安博: 常见的有LVS、Nginx和HAProxy,者者介绍分别如下:LVS:使用集群技术和Linux操作系统实现一个高性能、高可用的服务器,它具有很好的可伸缩性(Scalability)、可靠性(Reliability)和可管理性(Manageability),感谢章文嵩博士为我...
新和县13360251561: 应用交付网络技术哪家好,你对F5宣布收购应用交付领域的开源领先企? ?
关东安博: 随着信息科技的发展,应用交付网络技术也有了飞速的增长.前不久,多云应用服务领导者F5宣布收购应用交付领域的开源领先企业NGINX,F5 和 NGINX 将在所有环境中...
新和县13360251561: F5的应用交付解决方案值得信赖吗? ?
关东安博: F5本身在应用交付领域就有着不可突破的地位,在提升应用数字化体验方面深得全球客户的信赖,全球财富50强企业中的48家、全球10大运营商、全国10大商业银行均采用了F5解决方案.F5结合NGINX为全球超过50%的应用提供支持,因此F5更清楚如何交付和保护更多应用,并为客户创造更大价值. 而F5又与微软合作,推出更加厉害的应用交付解决方案,强强联合.F5+MicrosoftAzure 应用交付解决方案,融合了软件与硬件功能,可作为负载平衡器和完整代理,进而帮助企业控制网络流量.微软将与F5联手帮助上云的企业客户快速掌握如何应对上云之后,在应用程序交付等方面可能遇到的挑战,持续帮助客户实现更快速、智能且安全的交付应用程序.
新和县13360251561: Nginx 和 Apache 各有什么优缺点??
关东安博: 你好,关于Apache与Nginx的优缺点比较,我们可以从以下几个方面来看:1、nginx相对于apache的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高...
新和县13360251561: 有没有朋友知道硬件负载均衡有哪些品牌?哪个品牌更好一些? - ?
关东安博: 个人觉得还是F5这个品牌更好,F5是负载均衡的代名词,是行业老大,市场第一.F5是全代理架构:确保最佳的应用可用性和性能-根据实时应用交付数据将用户定向到最佳地点;管理IPv4与IPv6服务的不兼容性和迁移-允许流量在不同网络拓扑之间自由流动和共存;满足未来业务要求-支持当前以及将来所有主要协议;优化性能并智能地路由流量-根据流量数据做出最佳的可用性决策.他们还有先进的负载均衡与代理解决方案产品推荐:BIG-IP广域流量管理器,BIG-IP本地流量管理器.功能比较强大,同时也有专门的售后服务团队,性能还比较好.
新和县13360251561: f5负载均衡用的是什么技术原理 - ?
关东安博: 负载均衡,英文名称为Load Balance,其意思就是将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务.负载均衡建立在现有网...
新和县13360251561: 网络负载均衡设备哪家好? - ?
关东安博: F5可以说是负载均衡领域的领导者,所以要说网络负载均衡设备哪家好,那非F5莫属了.F5在应用交付领域领域有着很高的知名度,而且实力也非常的强势,现在全球很多知名企业、服务提供商和云提供商以及领先的在线公司都用F5的负载均...
新和县13360251561: 负载均衡和F5是什么意思? - ?
关东安博: 经常听到技术提到负载均衡这个词,还有F5,从网上找了点资料做个知识普及,希望能帮到想了解这方面知识的朋友.负载均衡和F5是什么呢,如下:负载均衡(又称为负载分担),英文名称为Load Balance,其意思就是将负载(工作任务)...