|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
小知识:CentOS商业化干掉红帽才是出路?
媒介:作为一位Linux/unix体系工程师、项目实行工程师,这几年一向在触及到对外项目,经手过很多小中型网站的架构,F5、LVS及Nginx接触的都比拟多,我想一种比拟浅显易懂的语气跟人人解释下何谓负载平衡,何谓Linux集群,赞助人人走出这个误区,真正意义下去懂得它们,详细项目施工案例请参考我在network.51cto.com上的同类文章。
1、今朝网站架构普通分红负载平衡层、web层和数据库层,我其实普通还会多加一层,即文件办事器层,由于如今跟着网站的PV愈来愈多,文件办事器的压力也愈来愈年夜;不外跟着moosefs、DRDB+Heartbeat+NFS的日益成熟,这成绩也不年夜了.网站最前真个负载平衡层称之为Director,它起的是分摊要求的感化,最多见的就是轮询。
2、F5是经由过程硬件的方法来完成负载平衡,它较多运用于CDN体系,用于squid反向加快集群的负载平衡,是专业的硬件负载平衡装备,特别实用于每秒新建衔接数和并发衔接数请求高的场景;LVS和Nginx是经由过程软件的方法来完成的,但稳固性也相当强悍,在处置高并发的情形也有相当不俗的表示。
3、Nginx对收集的依附较小,实际上只需ping得通,网页拜访正常,nginx就可以连得通,nginx同时还能辨别表里网,假如是同时具有表里网的节点,就相当于单机具有了备份线路;lvs就比拟依附于收集情况,今朝来看办事器在统一网段内而且lvs应用direct方法分流,后果较能获得包管。
4、今朝较成熟的负载平衡高可用技巧有LVS+Keepalived、Nginx+Keepalived,之前Nginx没有成熟的双机备份计划,但经由过程shell剧本监控是可以完成的,有兴致的可详细参考我在51cto上的项目实行计划;别的,假如斟酌Nginx的负载平衡高可用,也能够经由过程DNS轮询的方法来完成,有兴致的可以参考张宴的相干文章;但因为我们今朝的商务网站要斟酌googel收录及域名立案还有其它的身分,临时只能用单域名,所以只采取了后面的计划;Nginx+keepalived在我们的机房曾经稳固运转了一年半了,所以这架构我也一并引见给人人。
5、集群是指负载平衡前面的web集群或tomcat集群等,但如今的集群意义泛指了全部体系架构,它包含了负载平衡器和后真个运用办事器集群等,如今很多人都爱好把Linux集群指为LVS,但我认为严厉意义上应当辨别开。
6、负载平衡高可用中的高可用指的是完成负载平衡器的HA,即一台负载平衡器坏失落后另外一台可以在<1s秒内切换,最经常使用的软件就是Keepalived和Heatbeat,成熟的临盆情况下的负载平衡器计划有Lvs+Keepalived、Nginx+Keepalived;假如能包管Heartbeat的心跳线的稳固的话,Heartbeat+DRBD也是成熟的运用,实用于NFS文件办事器或Mysql。
7、LVS的优势异常多:①抗负载才能强;②任务稳固(由于有成熟的HA计划);③无流量;④根本上能支撑一切的运用,基于以上的长处,LVS具有很多的粉丝;但世事无相对,LVS对收集的依附性太年夜了,在收集情况绝对庞杂的运用场景中,我不能不废弃它而选用Nginx。
8、Nginx对收集的依附性小,并且它的正则壮大而灵巧,强悍的特色吸引了很多人,并且设置装备摆设也是相当的便利和繁复,小中型项目实行中我根本是斟酌它的;固然,假如资金充分,F5是不贰的选择;我到过很多CDN机房,常常能发明F5的身影。
9、年夜型网站架构中其实可以联合应用F5、LVS或Nginx,选择它们中的二种或三种全体选择;假如由于预算的缘由不选择F5,那末网站最前真个指向应当是LVS,也就是DNS的指向应为lvs平衡器,lvs的长处令它异常合适做这个义务。主要的ip地址,最好交由lvs托管,好比数据库的ip、webservice办事器的ip等等,这些ip地址跟着时光推移,应用面会愈来愈年夜,假如改换ip则毛病会接二连三。所以将这些主要ip交给lvs托管是最为稳妥的。
10、VIP地址是Keepalived虚拟的一个IP,它是一个对外的地下IP,也是DNS指向的IP;所以在设计网站架构时,你必需向你的IDC多请求一个对外IP;假如是做LVS+Keepalived的纯公网的这类架构,呵呵,那就最好是购置一个IP网段吧。
11、在现实项目实行过程当中发明,Lvs和Nginx对https的支撑都异常好,特别是LVS,绝对而言处置起来更加轻便。
12、在LVS+Keepalived及Nginx+Keepalived的毛病处置中,这两者都是很便利的;假如产生了体系毛病或办事器相干毛病,便可将DNS指向由它们后真个某台真实web,到达短时间处置毛病的后果,究竟告白网站和电子商务网站的PV就是金钱,这也是为何要将负载平衡高可用设计于此的缘由;年夜型的告白网站我就建议直接上CDN体系算了。
十3、如今Linux集群都被人人神话了,其实这个也没若干庞杂;症结看你的运用场景,哪一种实用就选用哪一种,Nginx和LVS、F5都不是神话,哪一种便利哪一种实用就选用哪一种。
十4、别的关于session同享的成绩,这也是一个老发展谈的成绩了;Nginx可以用ip_hash机制来处理session的成绩,而F5和LVS都有会话坚持机制来处理这个成绩,另外,还可以将session写进数据库,这也是一个处理session同享的好方法,固然这个也会减轻数据库的累赘,这个看体系架构师的弃取了。
十5、我如今今朝保护的电子商务网站并发年夜约是1800阁下,之前的证券资讯类网站是100阁下,年夜型网上告白网站年夜约是6000,我感到web层的并发愈来愈不是一个成绩;如今因为办事器的强悍,再加上Nginx作web的高抗并发性,web层的并发并非甚么年夜成绩;相反而言,文件办事器层和数据库层的压力是愈来愈年夜了,单NFS弗成能胜任今朝的任务,如今好的计划是moosefs和DRDB+Heartbeat+NFS;而我爱好的Mysql办事器,成熟的运用计划照样主从;固然我也在测验考试一主多从、Master-Master-slaves等多种架构。
十6、如今受张宴的影响,人人都去玩Nginx了(特别是作web),其其实办事器机能优良,内存足够的情形下,Apache的抗并发才能其实不弱(16G内存下Apache过6000成绩也不年夜),全部网站的瓶颈应当照样在数据库方面;我建议可以两边面懂得Apache和Nginx,前端用Nginx作负载平衡,后端用Apache作web,后果也是相当的好。
十7、Heartbeat的脑裂成绩没有想象中那末严重,在线上情况可以斟酌应用;DRDB+Heartbeat算是成熟的运用了,建议控制。我在相当多的场所用此组合来替换EMC同享存储,究竟30多万的价钱并非每一个客户都情愿接收的。
十8、不管设计的计划是何等的成熟,照样建议要设置装备摆设Nagios监控机来及时监控我们的办事器情形;邮件和短信报警都可以开启,究竟手机可以随身携带嘛;有前提的还可以购置专门的贸易扫描网站办事,它会每隔一分钟扫描你的网站,假如发明没有alive会向你的邮件发正告信息或直接德律风接洽。
十9、至多网站的平安性成绩,我建议用硬件防火墙,比拟推举的是华赛三层防火墙+天泰web防火墙(或单台Juniper防火墙),DDOS的平安防护必定要到位(国际的DDOS进击让人焦躁);Linux办事器自己的iptables和SElinux都可封闭,固然,端口开放越少越好。
二10、测试网站的呼应时光是用http://tools.pingdom.com,发明上了LVS+Keepalived、Nginx+Keepalived后其实不影响速度,这一点人人就不要多虑了,Nginx如今作反向加快也日益成熟了,人人也可测验考试下用Nginx来代替squid。
本文出自“操琴煮酒”博客,请务必保存此出处http://andrewyu.blog.51cto.com/1604432/500208
小知识:Linux同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。 |
|