有软件负载均衡和硬件负载均衡。我应该选择哪一个?

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

大家好,关于有软件负载均衡和硬件负载均衡。我应该选择哪一个?很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

目前很多网站或者应用程序一开始就设计为对高并发数据请求进行负载均衡。不缺钱的富裕用户通常会直接购买F5硬件设备作为负载均衡器。不用说,它的功能是强大的,包括负载均衡还包括应用程序切换、会话切换、状态监控、智能网络地址转换、通用持久化、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能HTTP压缩、TCP优化、第7层速率整形、内容缓冲、内容转换、连接加速、缓存、cookie加密、选择性内容加密、应用程序攻击过滤、拒绝服务(DoS)攻击和SYN Flood防护、防火墙过滤等功能,他们很强大吗?当然,价格也非常令人心动。对于一些预算较低且处于开发初期的网站来说,像Nginx这样的软负载也可以满足其数据分流需求。我们先来看看Nginx是如何满足我们的负载均衡需求的:

1.Nginx是什么:

Nginx:高性能的HTTP和反向代理服务器,还支持IMAP/POP3/SMTP代理服务器。目前许多网站都使用它作为其HTTP 软负载均衡器。高效的性能、良好的稳定性、丰富的功能集、示例配置文件以及较低的系统资源消耗逐渐受到大型互联网公司的青睐。例如,腾讯、淘宝、新浪等大型门户网站和商业网站都使用Nginx来对HTTP网站进行数据分流。

2.Nginx的特点:

1、工作在网络第7层,可以对http应用做一些导流策略,比如域名、目录结构等;

2、Nginx对网络的依赖相对较小。

3、Nginx安装配置比较简单,测试也比较方便。

4、能承受高负载压力且稳定,一般可支持10000次以上并发。

5、Nginx可以通过该端口检测服务器内部的故障,例如服务器处理网页返回的状态码、超时等,并将返回错误的请求重新提交到另一个节点。但缺点是不支持URL检测。

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

7.Nginx可以支持http和Email。

三、原理

具体是如何运作的呢?事实上,当Nginx启动时,它的工作流程是由配置文件初始化的。主进程处理配置文件中的读取、端口绑定等特权操作,然后创建一小组子进程,这些子进程发出请求。处理的同时,缓存加载器将缓存从硬盘加载到内存中,然后退出,确保资源开销始终保持在较低水平。

可以看到,创建的子进程实际上负责所有的工作,处理网络连接、硬盘读写操作以及上游服务器通信。

如图:master进程是它的主线程,worker进程,顾名思义,“我做具体的工作”。我截图的进程比较小,因为这是我自己的服务器,没有很多服务。实际业务中可能有几十个worker进程,这是相当壮观的。

Nginx的推荐配置是1个worker进程对应1个CPU核心,以保证硬件资源的有效利用。

一旦NGINX开始服务,只有工作进程忙碌,每个工作进程以非阻塞的方式处理多个连接,减少了上下文切换的次数。

每个工作进程都是单线程并独立运行,负责获取新连接并处理它们。进程通过共享内存进行通信,例如缓存数据、会话持久数据和其他共享资源。

有软件负载均衡和硬件负载均衡。我应该选择哪一个?

4. F5的负载均衡功能

其实看到Nginx的原理和功能后,是不是觉得F5已经不需要了呢?当然不是。毕竟F5是负载均衡的前身。一直以功能强大、性能稳定而闻名。事实上,很多功能是软负载无法实现的。

F5 BIG-IP作为HTTP负载均衡器的主要功能:

1. F5 BIG-IP 提供12 种灵活的算法,将所有流量均匀分配到每个服务器。面对用户,它只是一个虚拟服务器。

2. F5 BIG-IP可以确认应用程序是否可以针对请求返回相应的数据。如果F5 BIG-IP后面的服务器遇到服务停止、崩溃或其他故障,F5会检测到并将该服务器标记为关闭,从而不会将用户的访问请求传输到故障服务器。这样,只要其他服务器正常,用户访问就不会受到影响。一旦中断修复,F5 BIG-IP 将自动验证应用程序是否正确响应客户的请求并恢复到服务器的传输。

3. F5 BIG-IP 具有动态Session 的会话保持功能。作者还在网站中使用了F5,通过F5绑定用户IP和Session,保持Session一致。

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

五、两者比较

F5、硬件

优点:可以直接通过智能交换机实现,处理能力更强,独立于系统,负载性能强,更适合设备数量多、访问量大、简单的应用。

缺点:成本高(3W美元+参考:http://top.zol.com.cn/compositor/517/manu_32315.html)。除了设备价格高昂、配置冗余之外,很难想象背后有服务器集群,但最关键的是,负载均衡设备是单点配置,无法有效控制服务器和应用状态。

硬件负载均衡一般不关心实际的系统和应用状态,而只从网络层进行判断。因此,有时系统处理能力已经不够了,但网络可能仍然有时间响应(这种情况很典型,比如应用服务器后面的内存)。已经占用了很多,但还没有完全打破。如果网络传输量不大,可能在网络层体现不出来)

Nginx、软负载

优点:基于系统和应用的负载均衡,可以根据系统和应用的情况更好地分配负载。这对于复杂的应用非常重要并且具有成本效益。其实如果有几台服务器的话,使用F5之类的硬件产品似乎有点浪费,但是使用软件就划算多了,因为服务器还可以运行应用程序、创建集群等。

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

结论

6、F5产品选型:F5 Global Traffic Manager(以下简称F5 GTM)。 F5 GTM负载均衡器是全球领先的负载均衡技术产品,包括完整的智能DNS功能,可以充分利用各种GTM算法以及LTM和GTM的协作。实现包括链路可用性检测、链路性能检测和服务器性能检测。可以采用静态算法和动态算法,使各链路和数据中心的使用得到充分、合理的分配,为用户提供对数据中心的最优访问。体验并提高应用程序的可靠性和可用性。

F5 LTM。站点内的负载均衡是通过SLB实现的。本方案中,SLB采用F5 LTM部署,支持http/https、FTP、Diameter、SMPP、SIP协议等大量应用层协议的负载均衡健康检测。 SLB提供的对外服务接口(包括IP地址和端口)接收客户端的服务请求。

用户评论

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
莫飞霜

各有优劣吧,软件相对便宜容易配置,但硬件更加稳定可靠,尤其对于业务流量大的情况。

    有9位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
早不爱了

做高并发网站的时候,软件压力测试总是很费劲,听说硬件负载均衡可以很好的解决这个问题?

    有16位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
泡泡龙

看了下评论区,感觉选择硬件负载均衡真的更稳妥一点,虽然贵了一点,但关键时刻才能起到作用。

    有19位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
花容月貌

我之前对负载均衡理解不是很好,看了你的文章之后终于懂了!软件和硬件都有各自的优缺点,还是要根据实际情况来决定。

    有14位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
最迷人的危险

如果流量不高的话,软件负载均衡就可以满足需求了吧?真没必要花大价钱买硬件的。

    有18位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
荒野情趣

对于一些大型企业来说,选择硬件负载均衡是必然的选择,毕竟数据和稳定性至关重要!

    有16位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
我一个人

想问下,在实际应用场景中,两种类型的负载均衡如何才能互相配合?

    有14位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
墨染殇雪

感觉这篇文章写的太好了,非常清晰地解释了软件和硬件负载均衡的区别,现在我终于明白啦。

    有7位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
墨城烟柳

我的预算有限,只能选择便宜的软件解决方案,但是感觉有时候会有点卡…

    有13位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
呆檬

如果说性能上硬件负载均衡是老大,那软件负载均衡就是“老二”吧,各有优劣啊。

    有6位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
几妆痕

我之前用过亚马逊的云负载均衡服务,还挺方便,还能根据流量自动调整资源分配,不错!

    有10位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
堕落爱人!

想换一个稳定的服务器配置,建议用硬件负载均衡配合高带宽网络?是不是这样?

    有16位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
慑人的傲气

HARDWARE LOAD BALANCER 的品牌有哪些比较权威啊?最近在考虑购买!

    有18位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
不忘初心

软件负载均衡的开源方案有很多种吗?哪个比较成熟?

    有18位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
别留遗憾

做开发的都知道硬件负载均衡好,稳定性确实高。但配置起来真不是一般的复杂…

    有20位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
◆乱世梦红颜

我感觉现在很多文章都只说优缺点,却没有提供具体的案例分析,比如哪些情况下更适合使用软件负载均衡,哪些情况更适合硬件负载均衡?

    有16位网友表示赞同!

有软件负载均衡和硬件负载均衡。我应该选择哪一个?
残留の笑颜

文章说的很详细了,让我彻底打消了对硬件负载均衡的顾虑!我要来学习一下如何配置硬件负载均衡了!

    有9位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/159542.html

(0)
小su's avatar小su
上一篇 2024年9月20日 下午10:41
下一篇 2024年9月20日 下午10:47

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注