对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。

目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高网络层负载均衡,以及链路聚合技术。

我们使用的是软负载均衡器Nginx,而农行用的是F5硬负载均衡器,这里就简单介绍下这两种技术:

a.软件负载均衡解决方案

在一台服务器的操作系统上,安装一个附加软件来实现负载均衡,如Nginx负载均衡(我们管理系统平台使用的也是这款均衡器)。它的优点是基于特定环境、配置简单、使用灵活、成本低廉,可以满足大部分的负载均衡需求。

一、什么是Nginx

Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 可以说Nginx 是目前使用最为广泛的HTTP软负载均衡器,其将源代码以类BSD许可证的形式发布(商业友好),同时因高效的性能、稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名于业界。像腾讯、淘宝、新浪等大型门户及商业网站都采用Nginx进行HTTP网站的数据分流。

二、Nginx的功能特点

1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构;

2、Nginx对网络的依赖比较小;

3、Nginx安装和配置比较简单,测试起来比较方便;

4、也可以承担高的负载压力且稳定,一般能支撑超过1万次的并发;

5、Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点,不过其中缺点就是不支持url来检测;

6、Nginx对请求的异步处理可以帮助节点服务器减轻负载;

7、Nginx能支持http和Email,这样就在适用范围上面小很多;

8、不支持Session的保持、对Big request header的支持不是很好,另外默认的只有Round-robin和IP-hash两种负载均衡算法。

三、Nginx的原理

Nginx采用的是反向代理技术,代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。反向代理负载均衡技术是把将来自internet上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。

b.硬件负载均衡解决方案

直接在服务器和外部网络间安装负载均衡设备,这种设备我们通常称之为负载均衡器。由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。 一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵,比如最常见的就是F5负载均衡器。

什么是F5 BIG-IP

F5负载均衡器是应用交付网络的全球领导者F5 Networks公司提供的一个负载均衡器专用设备,F5 BIG-IP LTM 的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡、应用交换、会话交换、状态监控、智能网络地址转换、通用持续性、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能HTTP压缩、TCP优化、第7层速率整形、内容缓冲、内容转换、连接加速、高速缓存、Cookie加密、选择性内容加密、应用攻击过滤、拒绝服务(DoS)攻击和SYN Flood保护、防火墙—包过滤、包消毒等功能。

以下是F5 BIG-IP用作HTTP负载均衡器的主要功能:

①、F5 BIG-IP提供12种灵活的算法将所有流量均衡的分配到各个服务器,而面对用户,只是一台虚拟服务器。

②、F5 BIG-IP可以确认应用程序能否对请求返回对应的数据。假如F5 BIG-IP后面的某一台服务器发生服务停止、死机等故障,F5会检查出来并将该服务器标识为宕机,从而不将用户的访问请求传送到该台发生故障的服务器上。这样,只要其它的服务器正常,用户的访问就不会受到影响。宕机一旦修复,F5 BIG-IP就会自动查证应用已能对客户请求作出正确响应并恢复向该服务器传送。

③、F5 BIG-IP具有动态Session的会话保持功能。

④、F5 BIG-IP的iRules功能可以做HTTP内容过滤,根据不同的域名、URL,将访问请求传送到不同的服务器。

方案优缺点对比

基于硬件的方式(F5)

优点:能够直接通过智能交换机实现,处理能力更强,而且与系统无关,负载性能强更适用于一大堆设备、大访问量、简单应用

缺点:成本高,除设备价格高昂,而且配置冗余.很难想象后面服务器做一个集群,但最关键的负载均衡设备却是单点配置;无法有效掌握服务器及应用状态.

硬件负载均衡,一般都不管实际系统与应用的状态,而只是从网络层来判断,所以有时候系统处理能力已经不行了,但网络可能还来 得及反应(这种情况非常典型,比如应用服务器后面内存已经占用很多,但还没有彻底不行,如果网络传输量不大就未必在网络层能反映出来)

基于软件的方式(Nginx)

优点:基于系统与应用的负载均衡,能够更好地根据系统与应用的状况来分配负载。这对于复杂应用是很重要的,性价比高,实际上如果几台服务器,用F5之类的硬件产品显得有些浪费,而用软件就要合算得多,因为服务器同时还可以跑应用做集群等。

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

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

Nginx与F5的区别相关推荐

  1. 浅谈Nginx负载均衡与F5的区别

    转载地址: http://www.ideadata.com.cn/wisdomAction/readWisdom.do?id=75 前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所 ...

  2. Nginx负载均衡和F5的区别---系统运维工作笔记001

    笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道"墙",将请求分发到web服务器后,web服务器上的Nginx再进行处理,静 ...

  3. F5和nginx到底有什么区别

    前段时间,面试的时候,有人问了一个我这样的问题. 同样是做负载均衡,那么F5和nginx到底有什么区别呢? 一时语塞,要好好补补. 首先,得从网络七层模型开始说起. 不是标题党,实在是太懒了.不想写. ...

  4. nginx 代理 内存_科普Nginx和apache的区别及优缺点比较

    最近很多小伙伴来问我Nginx和apache的区别,这个问题用三言两语也很难解释,于是整理出了这一篇文章与大家共享.除了Nginx和apache的区别,还比较了各自的优缺点.这是我自学Nginx和工作 ...

  5. Nginx与Zuul之间区别

    Nginx与Zuul的区别 Nginx是采用服务器负载均衡进行转发 Zuul依赖Ribbon和eureka实现本地负载均衡转发 相对来说Nginx功能比Zuul功能更加强大,能够整合其他语言比如lua ...

  6. Apache、Nginx、Tomcat的区别

    Apache.Nginx.Tomcat的区别 Nginx Tomcat Apache,Nginx与Tomcat的区别 Nginx -----是一个高性能的HTTP和反向代理服务器,也是一个IMAP/P ...

  7. php选择nginx还是apache,浅谈apache和nginx的rewrite的区别

    1. Nginx Rewrite规则相关指令 Nginx Rewrite规则相关指令有if.rewrite.set.return.break等,其中rewrite是最关键的指令.一个简单的Nginx ...

  8. 近 45 亿元拿下开源服务器 Nginx,F5 买断应用交付未来?

    "待价而沽"几个月后,著名开源 Web 服务器厂商 Nginx 终是把自己卖给了"对家"-- 图源:Nginx 官网 如何挑战百万年薪的人工智能! https: ...

  9. 【前端指南】f5与ctrl+f5的区别

    文章目录 f5和ctrl+f5 f5 ctrl+f5 f5与ctrl+f5的区别 f5 ctrl+f5 缓存 缓存优点 缓存协商和彻底缓存 f5和ctrl+f5 f5 第一次打开某网页,全部资源从服务 ...

最新文章

  1. php创建菜单_php实现微信公众号创建自定义菜单功能的实例代码
  2. 2021-01-07 matlab数值分析  插值法 拉格朗日插值法 牛顿插值法
  3. array initization in matlab zeros(1000)
  4. rxjs 里的pipe operator
  5. java如何进行字符串拼接?
  6. Java命令行界面(第9部分):parse-cmd
  7. 复杂关联SQL的优化
  8. FTD概要图之MVC架构
  9. swoft使用phpunit之CodeCoverage
  10. python七种数据类型
  11. 超级简单的前端 自动复制功能
  12. 3.3Packet Tracer - 实施基本连接
  13. linux command path fast switch,Oracle and Linux
  14. python修改悦跑圈数据_悦跑圈数据导出 悦跑圈新版本支持跑表、跑步机数据接入 - 电脑常识 - 服务器之家...
  15. 矩型窗、哈明窗、汉宁窗、莱克曼窗等一系列函数
  16. 1553B数据总线用终端电连接器-DK-6211
  17. Windows XP自动登录
  18. 字符集编码 定长与变长
  19. 莱斯大学计算机专业好不好,莱斯大学怎么样 莱斯大学优势专业
  20. SQLite应用之路---CppSqlite

热门文章

  1. selenium基于python定位163邮箱实现自动登录
  2. 《CCNP ROUTE 300-101学习指南》——2.3节区分路由协议
  3. 《CCNP ROUTE 300-101学习指南》——1.7节复习题
  4. Vue3实现一个标题点击变粗且底部有提示的效果
  5. wordpress 后台卡_如何在您的WordPress网站上轻松接受信用卡付款
  6. html中jquery导入excel,jquery读取本地excle里的数据
  7. 判断两个时间是不是同一天
  8. 云集微助手安装教程和授权说明old
  9. 困在大厂的外包员工,未来还能有出路么?
  10. hive 时间处理函数