学习笔记

LVS和Nginx实现负载均衡功能的比较

负载均衡的基本概念

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

大数据高并发环境下使用负载均衡策略的必要性

在金融数据分析、股票交易、网络安全等领域,产生了以“海量”,“高速”为特征的流式数据,这些数据流持续不断地到达且速度无法估计,数据的价值随着时间的流逝而减少并具有实时性、易失性、突然发性等特点。大数据流式处理在某些应用领域中的地位变得越来越重要。近些年,随着流式处理领域的发展,出现了一批性能不错的分布式流处理框架例如Spark Streaming、S4、Storm、Samza等,但目前这些流处理框架在负载均衡与容错机制方面并不是很完善。负载均衡与容错机制作为流式处理系统中的关键技术,是影响系统处理能力、可靠性、稳定性的重要因素,

负载均衡的实现方式

1.硬件:常见的硬件有比较昂贵的NetScaler、F5、Radware和Array等商用的负载均衡器。
2.软件:LVS/HAProxy、Nginx的基于Linux的开源免费的负载均衡软件策略,这些都是通过软件级别来实现。

LVS和Nginx的相关知识

*关于LVS的知识
1.概念:LVS是Linux Virtual Server的简写,即Linux虚拟服务器,是一个虚拟的服务器集群系统。宗旨是使用集群技术和Linux操作系统实现一个高性能、高可用的服务器。
2.起源:LVS诞生于1998年五月,是由原阿里巴巴集团的章文嵩博士创建的中国首批开源项目之一。
3.作者:LVS原阿里巴巴集团的章文嵩博士;
4.LVS的优点和缺点
LVS的优点是:
1、抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最强的,对内存和cpu资源消耗比较低。
2、配置性比较低,这是一个缺点也是一个优点,因为没有可太多配置的东西,所以并不需要太多接触,大大减少了人为出错的几率。
3、工作稳定,因为其本身抗负载能力很强,自身有完整的双机热备方案,如LVS+Keepalived,不过我们在项目实施中用得最多的还是LVS/DR+Keepalived。
4、无流量,LVS只分发请求,而流量并不从它本身出去,这点保证了均衡器IO的性能不会受到大流量的影响。
5、应用范围比较广,因为LVS工作在4层,所以它几乎可以对所有应用做负载均衡,包括http、数据库、在线聊天室等等。
LVS的缺点是:
1、软件本身不支持正则表达式处理,不能做动静分离;而现在许多网站在这方面都有较强的需求,这个是Nginx/HAProxy+Keepalived的优势所在。
2、如果是网站应用比较庞大的话,LVS/DR+Keepalived实施起来就比较复杂了,特别后面有Windows Server的机器的话,如果实施及配置还有维护过程就比较复杂了,相对而言,Nginx/HAProxy+Keepalived就简单多了
关于Nginx的知识
1.概念:Nginx(“engine x”) 是一个高性能的HTTP和反向代理服务器,也是一个IMCP/POP3/SMTP服务器。
2.起源:Nginx俄罗斯的程序设计师lgor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。
3.作者:Nginx是俄罗斯人Igor Sysoev(塞索耶夫)。
4.Nginx的优点和缺点
Nginx的优点:
1.Nginx专为性能优化而开发,实现上非常注重效率。它支持内核Poll模型,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数。
2.Nginx具有很高的稳定性。其它HTTP服务器,当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器。例如当前apache一旦上到200个以上进程,web响应速度就明显非常缓慢了。Nginx采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。
3.Nginx支持热部署。它的启动特别容易,并且几乎可以做到7
24不间断运行,即使运行数个月也不需要重新启动。你还能够在不间断服务的情况下,对软件版本进行升级。
4.Nginx采用master-slave模型,能够充分利用SMP的优势,且能够减少工作进程在磁盘I/O的阻塞延迟。当采用select()/poll()调用时,还可以限制每个进程的连接数。
5.Nginx代码质量非常高,代码规范,手法成熟,模块扩展也很容易。
6.Nginx采用了一些OS提供的最新特性如,从而大大提高了性能。
Nginx的缺点:
1、Nginx仅能支持http、https和Email协议,这样就在适用范围上面小些,这个是它的缺点。
2、对后端服务器的健康检查,只支持通过端口来检测,不支持通过url来检测。不支持Session的直接保持,但能通过ip_hash来解决。

LVS和Nginx实现负载均衡方式上的方式和区别

1.LVS的方式:
(1)NAT模式-Virtual Server via Network Address Translation NAT(VS/NAT)
(2)TUN隧道模式-Virtual Server via IP Tunneling(VS/TUN)
(3)DR直接路由模式-Virtual Server via Direct Routing(VS/DR)
Nginx的方式:
轮询,weight,ip_hash,least_conn,fair:(第三方),url_hash(第三方)
2.区别
一、Nginx
1、nginx工作在网络的7层,所以它可以针对http应用本身来做分流策略,比如针对域名、目录结构等。
2、nginx有用的功能使其可调整度要高于lvs,所以经常要去触碰触碰,由lvs的第2条优点看,触碰多了,人为出问题的几率也就会大。

二、Lvs
1、抗负载能力强;因为lvs工作方式的逻辑是非常之简单,而且工作在网络4层仅做请求分发之用,所以在效率上基本不需要太过考虑。
2、配置性低;因为没有太多可配置的选项,所以除了增减服务器,并不需要经常去触碰它,大大减少了人为出错的几率。
3、工作稳定;因为其本身抗负载能力很强,所以稳定性高也是顺理成章,另外各种lvs都有完整的双机热备方案,所以一点不用担心均衡器本身会出什么问题,节点出现故障的话,lvs会自动判别,所以系统整体是非常稳定的。
4、无流量;lvs仅仅分发请求,而流量并不从它本身出去,所以可以利用它这点来做一些线路分流之用。没有流量同时也保住了均衡器的IO性能不会受到大流量的影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值