linux里的负载均衡是什么意思???
一、目前网站架构一般分成负载均衡层、web层和数据库层,我其实一般还会多加一层,即文件服务器层,因为现在随着网站的PV越来越多,文件服务器的压力也越来越大;不过随着moosefs、DRDB+Heartbeat的日趋成熟,这问题也不大了。网站最前端的负载均衡层称之为Director,它起的是分摊请求的作用,最常见的就是轮询。
二、F5是通过硬件的方式来实现负载均衡,它较多应用于CDN系统,用于squid反向加速集群的负载均衡,是专业的硬件负载均衡设备,尤其适用于每秒新建连接数和并发连接数要求高的场景;LVS和Nginx是通过软件的方式来实现的,但稳定性也相当强悍,在处理高并发的情况也有相当不俗的表现。
三、Nginx对网络的依赖较小,理论上只要ping得通,网页访问正常,nginx就能连得通,nginx同时还能区分内外网,如果是同时拥有内外网的节点,就相当于单机拥有了备份线路;lvs就比较依赖于网络环境,目前来看服务器在同一网段内并且lvs使用direct方式分流,效果较能得到保证。
四、目前较成熟的负载均衡高可用技术有LVS+Keepalived、Nginx+Keepalived,以前Nginx没有成熟的双机备份方案,但通过shell脚本监控是可以实现的,有兴趣的可具体参考我在51cto上的项目实施方案;另外,如果考虑Nginx的负载均衡高可用,也可以通过DNS轮询的方式来实现,有兴趣的可以参考张宴的相关文章。
五、集群是指负载均衡后面的web集群或tomcat集群等,但现在的集群意义泛指了整个系统架构,它包括了负载均衡器以及后端的应用服务器集群等,现在许多人都喜欢把Linux集群指为LVS,但我觉得严格意义上应该区分开。
六、负载均衡高可用中的高可用指的是实现负载均衡器的HA,即一台负载均衡器坏掉后另一台可以在<1s秒内切换,最常用的软件就是Keepalived和Heatbeat,成熟的生产环境下的负载均衡器方案有Lvs+Keepalived、Nginx+Keepalived.
七、LVS的优势非常多:①抗负载能力强;②工作稳定(因为有成熟的HA方案);③无流量;④基本上能支持所有的应用,基于以上的优点,LVS拥有不少的粉丝;但世事无绝对,LVS对网络的依赖性太大了,在网络环境相对复杂的应用场景中,我不得不放弃它而选用Nginx.
八、Nginx对网络的依赖性小,而且它的正则强大而灵活,强悍的特点吸引了不少人,而且配置也是相当的方便和简约,小中型项目实施中我基本是考虑它的;当然,如果资金充足,F5是不二的选择。
九、大型网站架构中其实可以结合使用F5、LVS或Nginx,选择它们中的二种或三种全部选择;如果因为预算的原因不选择F5,那么网站最前端的指向应该是LVS,也就是DNS的指向应为lvs均衡器,lvs的优点令它非常适合做这个任务。重要的ip地址,最好交由lvs托管,比如数据库的ip、webservice服务器的ip等等,这些ip地址随着时间推移,使用面会越来越大,如果更换ip则故障会接踵而至。所以将这些重要ip交给lvs托管是最为稳妥的。
十、VIP地址是Keepalived虚拟的一个IP,它是一个对外的公开IP,也是DNS指向的IP;所以在设计网站架构时,你必须向你的IDC多申请一个对外IP。
十一、在实际项目实施过程中发现,Lvs和Nginx对https的支持都非常好,尤其是LVS,相对而言处理起来更为简便。
十二、在LVS+Keepalived及Nginx+Keepalived的故障处理中,这二者都是很方便的;如果发生了系统故障或服务器相关故障,即可将DNS指向由它们后端的某台真实web,达到短期处理故障的效果,毕竟广告网站和电子商务网站的PV就是金钱,这也是为什么要将负载均衡高可用设计于此的原因;大型的广告网站我就建议直接上CDN系统了。
十三、现在Linux集群都被大家神话了,其实这个也没多少复杂;关键看你的应用场景,哪种适用就选用哪种,Nginx和LVS、F5都不是神话,哪种方便哪种适用就选用哪种。
十四、另外关于session共享的问题,这也是一个老生长谈的问题了;Nginx可以用ip_hash机制来解决session的问题,而F5和LVS都有会话保持机制来解决这个问题,此外,还可以将session写进数据库,这也是一个解决session共享的好办法,当然这个也会加重数据库的负担,这个看系统架构师的取舍了。
十五、我现在目前维护的电子商务网站并发大约是1000左右,以前的证券资讯类网站是100左右,大型网上广告大约是3000,我感觉web层的并发越来越不是一个问题;现在由于服务器的强悍,再加上Nginx作web的高抗并发性,web层的并发并不是什么大问题;相反而言,文件服务器层和数据库层的压力是越来越大了,单NFS不可能胜任目前的工作,现在好的方案是moosefs和DRDB+Heartbeat+NFS;而我喜欢的Mysql服务器,成熟的应用方案还是主从,如果压力过大,我不得不选择oracle的RAC双机方案。
十六、现在受张宴的影响,大家都去玩Nginx了(尤其是作web),其实在服务器性能优异,内存足够的情况下,Apache的抗并发能力并不弱,整个网站的瓶颈应该还是在数据库方面;我建议可以双方面了解Apache和Nginx,前端用Nginx作负载均衡,后端用Apache作web,效果也是相当的好。
十七、Heartbeat的脑裂问题没有想象中那么严重,在线上环境可以考虑使用;DRDB+Heartbeat算是成熟的应用了,建议掌握。我在相当多的场合用此组合来替代EMC共享存储,毕竟30万的价格并不是每个客户都愿意接受的。
十八、无论设计的方案是多么的成熟,还是建议要配置Nagios监控机来实时监控我们的服务器情况;邮件和短信报警都可以开启,毕竟手机可以随身携带嘛;有条件的还可以购买专门的商业扫描网站服务,它会每隔一分钟扫描你的网站,如果发现没有alive会向你的邮件发警告信息或直接电话联系。
十九、至少网站的安全性问题,我建议用硬件防火墙,比较推荐的是华赛三层防火墙+天泰web防火墙,DDOS的安全防护一定要到位;Linux服务器本身的iptables和SElinux均可关闭,当然,端口开放越少越好。
步骤:
1、Server8安装ipvsadm
2、在Server8中,新建一个文本文件,vim vip.sh
3、在Server8中的vip.sh,输入以下内容(目的为配置LVS):
#!/bin/bash
ifconfig lo:0 192.168.200.100 broadcast 192.168.200.255 netmask 255.255.255.255 up
route add -host 192.168.200.100 dev lo:0
route del -host default
ipvsadm -C
ipvsadm -A -t 192.168.200.100 -s rr
ipvsadm -a -t 192.168.200.100 -r 192.168.200.102 -g
ipvsadm -a -t 192.168.200.100 -r 192.168.200.103 -g
ipvsadm
4、在Server9中,新建一个文本文件,vim web.sh
5、在Server9中的web.sh,输入以下内容:
#!/bin/bash
ifconfig lo:0 192.168.200.100 broadcast 192.168.200.255 netmask 255.255.255.255 up
route add -host 192.168.200.100 dev lo:0
route del -host default
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
6、在Server8中,chmod 777 vip.sh
在Server9中,chmod 777 web.sh
7、最后,在Server8中,./vip.sh
在Server9中,./web.sh
完了
我一边做一边打的,最后成功了,不知道你如何,如果有问题可以问,但我不一定能答,因为我昨天才学会的- -
负载均衡就是:将本应该这台机器(或集群)要处理的请求(工作或负载),根据一定的算法,平均地分配到其他的机器(或集群)上去处理,这样可以大大减少这台机器(或集群)的工作量,防止因负载过大而造成响应超时或down机等意外情况的发生。一般大的网站和系统都使用了负载均衡!
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
负载均衡作用是建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡与操作系统没关系。
均衡是针对多台服务器时而言的,简单地说就是在多台服务器提供同一个服务的时候每台服务器承载同样的压力
每个cpu都有一个运行队列 而队列长短在运行的时候会有差异,这样会导致cpu的负载不平衡,所以要进行负载平衡
负载均衡的作用是什么?可以看看这个视频,内容讲解的非常清楚。
解析Linux系统的平均负载概念
\/proc文件系统是一个虚拟的文件系统,不占用磁盘空间,它反映了当前操作系统在内存中的运行情况,查看\/proc下的文件可以聊寄到系统的运行状态。查看系统平均负载使用“cat \/proc\/loadavg”命令,输出结果如下:0.27 0.36 0.37 4\/83 4828\/ 前三个数字大家都知道,是1、5、15分钟内的平均进程数(有...
在Linux 中什么是平均负载?
平均负载被定义为在1分钟,5分钟和15分钟内等待在运行队列中的进程数目和当前正在执行的进程数目之和的平均值。使用 ‘top’ 和 ‘uptime’ 命令我们可以查询一个 Linux 服务器的平均负载。请参考《Linux就该这么学》新手必须掌握的Linux命令章节。
Linux里面lvs和nginx区别是什么?
LVS,全称Linux Virtual Server,是Linux内核层面的重量级负载均衡工具,它将网络流量巧妙地分布到多个服务器,以提升系统的稳定性和性能。作为底层核心组件,LVS专攻负载均衡功能,提供卓越的性能,适合对稳定性有高要求的场景。相反,Nginx则是一款更为全能的应用级服务器,不仅扮演负载均衡器的角色,还兼作...
linux服务器的平均负载问题
如果可以进入linux系统的话,用top查看系统的负载,我们可以通过load avg来分析当前cpu的使用情况。比如1颗cpu 在load avg里代表一个1.00 2颗cpu那么他的负载就不应该长时间保持在2.00 你可以再top里按1查看每颗cpu的使用情况 按照你上述的情况。如果WDCP面板里显示的是4个核心,那么他的load avg...
linux里的负载均衡是什么意思???
负载均衡都是一样的意思,不分Linux或其他操作系统的。负载均衡就是:将本应该这台机器(或集群)要处理的请求(工作或负载),根据一定的算法,平均地分配到其他的机器(或集群)上去处理,这样可以大大减少这台机器(或集群)的工作量,防止因负载过大而造成响应超时或down机等意外情况的发生。一般大的...
linux系统平均负载,数值是什么意思?
系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树。如果一个进程满足以下条件则其就会位于运行队列中:- 它没有在等待I\/O 操作的结果- 它没有主动进入等待状态(也就是没有调用'wait') - 没有被停止(例如:等待终止) 例如:[root@www2 init.d]# uptime 7:51pm up 2 day...
通过Linux命令查看系统平均负载的方法
代码如下:[root@localhost ~]# uptime 11:31:11 up 11 days, 19:01,2 users,load average: 0.02, 0.01, 0.00 目前的主流服务器都是双四核,有相当强悍的CPU,做一般的应用服务的话,Linux系统的负载这块倒不用我们担心。还可以用w命令来查看,顺便可以查看一下系统当前有哪些用户,他们占用...
Linux系统下配置HTTP负载均衡系统以扛流量增加
HAProxy是一种流行的开源负载均衡和代理系统,面向GNU\/Linux平台上的TCP\/HTTP服务器。HAProxy采用了单一线程的事件驱动型架构而设计,它能够轻松地处理10G网卡线路速度,现广泛应用于许多生产环境中。其功能特性包括:自动检查健康状况、可定制的负载均衡算法、支持HTTPS\/SSL以及会话速率限制等。 我们在本教程中要达到什么样...
lvs负载均衡(简介,三种工作模式,四种常用算法)
使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能,高可用的服务器群集,它具有良好的可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能。二,三种工作模式 1、基于NAT的LVS模式负载均衡 也就是网络地址翻译技术实现虚拟服务器,当用户请求到达调度器时,...
linux 多线路防火墙负载均衡具体是哪个更好
1)四层的负载均衡就是基于IP+端口的负载均衡:在三层负载均衡的基础上,通过发布三层的IP地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行NAT处理,转发至后台服务器,并记录下这个TCP或者UDP的流量是由哪台服务器处理的,后续这个连接的所有流量都同样转发到同一...
乐正沫盐酸: 负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务. 负载均衡作用是建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性. 负载均衡与操作系统没关系.
路南区19349425427: linux系统平均负载,数值是什么意思? - ?
乐正沫盐酸: 系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树.如果一个进程满足以下条件则其就会位于运行队列中:- 它没有在等待I/O 操作的结果- 它没有主动进入等待状态(也就是没有调用'wait') - 没有被停止(例如:等待终止) 例如...
路南区19349425427: 负载均衡是什么意思??????? - ?
乐正沫盐酸: 通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求.均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题.北京快网的coludxns的负载均衡就做的不错·
路南区19349425427: 什么是负载均衡 - ?
乐正沫盐酸: 负载均衡的意思就是有几台服务器或者几个服务..通过设备或者软件,将外部来的连接均匀的分配到这几个服务器或者服务上面..使服务器的负载平均
路南区19349425427: linux 负载均衡都有些什么软件 - ?
乐正沫盐酸: 您好,很高兴为您解答.VirtualServerviaNATVS/NAT的优点是服务器可以运行任何支持TCP/IP的操作系统,它只需要一个IP地址配置在调度器上,服务器组可以用私有的IP地址.缺点是它的伸缩能力有限,当服务器结点数目升到20时,调度器本身有可
路南区19349425427: 在 Linux 中什么是平均负载? - ?
乐正沫盐酸: 平均负载被定义为在1分钟,5分钟和15分钟内等待在运行队列中的进程数目和当前正在执行的进程数目之和的平均值.使用 'top' 和 'uptime' 命令我们可以查询一个 Linux 服务器的平均负载.请参考《Linux就该这么学》新手必须掌握的Linux命令章节.
路南区19349425427: 负载均衡和F5是什么意思? - ?
乐正沫盐酸: 经常听到技术提到负载均衡这个词,还有F5,从网上找了点资料做个知识普及,希望能帮到想了解这方面知识的朋友.负载均衡和F5是什么呢,如下:负载均衡(又称为负载分担),英文名称为Load Balance,其意思就是将负载(工作任务)...
路南区19349425427: 什么是负载均衡. - ?
乐正沫盐酸: 由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担.在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪...
路南区19349425427: 如何使用LVS构架负载均衡Linux集群系统 - ?
乐正沫盐酸: 集群和负载均衡的区别如下:1、集群(Cluster) 所谓集群是指一组独立的计算机系统构成的一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信?应用程序可以通过网络共享内存进行消息传送,实现分布式计算机?2、负载均衡...
路南区19349425427: 负载均衡到底是什么概念,和负载平衡的区别 - ?
乐正沫盐酸: 负载均衡(Load Balance) 由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担.在此情况下,如果扔掉现有设备去做大量的硬件升...