`

负载均衡器技术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之类的硬件产品显得有些浪费,而用软件就要合算得多,因为服务器同时还可以跑应用做集群等。

        缺点:负载能力受服务器本身性能的影响,性能越好,负载能力越大。

       

        综述:对我们管理系统应用环境来说,由于负载均衡器本身不需要对数据进行处理,性能瓶颈更多的是在于后台服务器,通常采用软负载均衡器已非常够用且其商业友好的软件源码授权使得我们可以非常灵活的设计,无逢的和我们管理系统平台相结合。

 

文章来源:http://blog.csdn.net/chabale/article/details/8956717

分享到:
评论

相关推荐

    nginx负载均衡实现

    四层负载均衡主要依据TCP/UDP协议中的目标地址和端口来决定流量的分配,例如LVS(Linux Virtual Server)和F5这类产品。这种类型的负载均衡通常具有较高的性能,适用于多种网络协议,但对于URL级别的个性化负载不太...

    负载均衡软件、硬件实现方案

    负载均衡是一种用于在网络中分散工作负载的技术,其主要目的是优化资源利用、提高响应速度和避免单点故障。负载均衡通常应用于多服务器环境,通过对服务器之间的请求进行合理分配,确保没有单一服务器过载而其他...

    负载均衡技术和实现负载均衡的各种工具介绍

    负载均衡技术是一种用于优化网络性能、提高可用性和扩展性的关键技术。随着企业业务量的增加,IT系统处理的数据流量和请求量也会显著增长,单个服务器往往难以承担这种增长带来的高负荷。此时,负载均衡技术就显得尤...

    软硬负载均衡技术对比

    然而,硬件负载均衡器的缺点也比较明显,包括高昂的购置和维护成本。对于小型企业或项目来说,初期投资成本可能是一个不小的负担。 负载均衡技术的使用不仅仅局限于Web服务器,它也被广泛地应用于数据库服务器、...

    【总结】Http和服务服务器负载均衡

    它不仅可以作为负载均衡器/反向代理软件,还可以作为静态网页和图片服务器,其性能非常强大。Nginx的缺点是只支持HTTP、HTTPS和Email协议,并且只支持后端服务器的端口健康检测,不支持URL的健康检查。 相较之下,...

    web集群服务的负载均衡方案选择与实现

    - **硬件负载均衡器**:如F5 BIG-IP、Cisco ACE等,适用于大型企业级应用,提供高性能、高可靠性的负载均衡服务。 - **软件负载均衡器**:如HAProxy、Nginx等,适用于中小型应用,成本较低且灵活性较高。 #### 五、...

    系统在访问量比较大时所采用的负载均衡方案概述

    负载均衡是一种关键的技术,用于处理高访问量的系统,确保服务的稳定性和可扩展性。本文将概述几种常见的负载均衡方案,包括软件和硬件解决方案,以及它们在不同网络层次上的应用。 首先,DNS域名解析负载均衡是一...

    NGINX的功能介绍

    ### NGINX的功能介绍及其与同类产品的比较 #### 一、NGINX概述 NGINX是一款基于异步事件...通过对NGINX与同类产品的对比分析可以看出,尽管每种产品都有各自的优缺点,但在很多场景下,NGINX都是一个非常优秀的选择。

    负载均衡原理及算法解析

    ### 负载均衡原理及算法解析 ...不同类型的负载均衡技术和算法各有优缺点,适用于不同的应用场景。在实际部署过程中,应根据具体的需求和环境选择最适合的负载均衡方案,以达到最佳的服务质量和用户体验。

    asp.net实现负载均衡

    硬件负载均衡器一般由专业的网络设备厂商生产,如F5 BIG-IP等,这类设备价格昂贵,适用于大型数据中心和对稳定性要求极高的场景。而软件负载均衡则通常借助于软件来实现,如Nginx、Apache HTTP Server以及一些专用的...

    搭建LVS集群实战负载均衡-随堂笔记.doc

    - 负载均衡实现方式有硬件(如F5)和软件(如LVS在4层,Nginx在7层)。 3. **LVS(Linux Virtual Server)**: - LVS是由章文嵩博士于1998年创建的开源项目,用于构建虚拟服务器集群系统。 - 章文嵩曾在2016年...

    tomcat集群优化详细配置

    为了优化session管理,可以使用Memcached来集中存储和同步多个Tomcat实例的session数据,同时结合Nginx进行负载均衡和动静态资源分离,提高系统性能和可扩展性。 **F5负载均衡器** F5设备属于网络层的负载均衡解决...

    Web网站架构详解.docx

    负载均衡是确保高可用性和扩展性的关键,包括DNS负载均衡、四层负载均衡(如F5、LVS)和七层负载均衡(如Nginx、haproxy)。根据网络环境和需求,选择合适的负载均衡策略对于优化系统性能至关重要。 7. **分布式...

    linux高并发高流量网站架构设计方案

    例如,使用Nginx作为反向代理和负载均衡器,Apache或Tomcat处理动态请求,MySQL或PostgreSQL作为数据库,配合NoSQL数据库(如MongoDB)处理非结构化数据。 6. **网站扩容与容错**:在架构设计时,要考虑到未来可能...

Global site tag (gtag.js) - Google Analytics