带来一篇小公司若何安排实行Linux集群网站
小知识:CentOS来自于RedHatEnterpriseLinux依照开放源代码规定释出的源代码所编译而成。其其实很多小公司和小企业里,特别是牵扯到电子商务和电子告白类的网站,他们的网站也请求作负载平衡高可用的Linux集群,但因为本钱的制约,老板都邑请求体系架构师设计的计划可以或许用起码的钱完成这个请求,作为体系架构师的我们,应当若何完成这个请求呢?
起首是机房的选择,假如公司有本身的机房那是最好不外的了;假如没有本身的机房,我建议人人放在BGP机房内托管,假如有选择的话,最好是选择带有硬件防火墙的机房,如许在平安方面也有保证;别的,我们若何选择办事器呢?在有了负载平衡高可用的集群情况后,我们完整可以本身组装办事器,如许在性价比上也是最高的。像IBM和DELL的品牌办事器,固然质量有保证,但价钱常常是老板不克不及够接收的。固然了,一切以稳固为条件和准绳。
起首是负载平衡装备的选择。我们可以有二种选择,一种是经由过程硬件来停止停止,罕见的硬件有比拟昂贵的NetScaler、F5、Radware和Array等商用的负载平衡器,它的长处就是有专业的保护团队来对这些办事停止保护、缺陷就是花消太年夜,所以关于范围较小的收集办事来讲临时还没有须要应用;别的一种就是相似于LVS/HAProxy、Nginx的基于Linux的开源收费的负载平衡软件战略,这些都是经由过程软件级别来完成,所以费用异常昂贵,小公司和小企业因为费用的成绩,所以软件级其余负载平衡是第一选择。
至于负载平衡高可用架构,我首推是Nginx/HAProxy+Keepalived的架构,这时候许多同伙就有疑问,说你为何不选择基于LVS+Keepalived的集群计划呢?这是由于我们安排的网站普通都邑有动态分别、正则分发的需求,假如我们最后面选用LVS+Keepliaved的架构,那末我们至多又要在中央加一层二级负载平衡的机械,如许比拟耗机械,有形中也会增长全部网站的本钱;别的,许多同伙都比拟担忧的一个成绩,说Nginx/HAProxy+Keepalived的稳固性不如LVS+Keepalived,这个实际上是误会;我们经由过程十几个项目标胜利实行,再加上几年的视察期,发明这些软件级其余负载平衡器的稳固性确切很好,在高并发的情形下宕机的能够性微不足道,而近段时光实行的一个贸易网站,用的是HAProxy+Keepalived,在亿/日高并发流量的冲击下,HAProxy稳如盘石。LVS在机能方面是最好的,特别是前面的节点(如Web或MySQL数据库办事器)跨越10台时,它的机能是最优良的。而小公司的并发和流量普通不是特殊年夜,也许一天连续在100万/日之间,所以我这里也向人人推举Nginx/HAProxy+Keepalived。
假如网站是放在IDC机房托管,而机房最后面也没有硬件防火墙防护时,这时候候人人尽可能做好流量监控的任务,我普通会在主Nginx/HAProxy上装置MRTG+Nload软件来对流量停止监控,Nload可以对流量停止即时监控,它的装置也是很简略的,我们先装置好RPMForege。RPMforge是Centos体系下的软件仓库,拥用4000多种的软件包,被Centos社区以为是最平安也是最稳固的一个软件仓库,地址为http://pkgs.repoforge.org/rpmforge-release。这个装置胜利今后,我们可以经由过程敕令yumCyinstallnload很轻松的装置nload。输出此敕令后,nload软件会很直不雅的显示流量的即时状况,上半部门ncoming是进入网卡的流量,下半部门Outgoing是从这块网卡出去的流量,每部门都有以后流量(Curr)、均匀流量(Avg)、最小流量(Min)、最年夜流量(Max)、总流量(Ttl)。因为此软件比拟直不雅,我用它来代替之前的即时流量监控软件iptraf,Nload的任务界面以下所示:
很多对集群感兴致的同伙常常问我,假如网站要安排负载平衡高可用的Linux集群计划,而公司又想用最节俭本钱的方法来实行的话,普通须要几台办事器呢?我的答复是四台,即2+2架构,最后面是二台Nginx/HAProxy+Keeplaived机械,前面是二台设置装备摆设比拟好的Web机械,MySQL数据库采取一主一从的方法,分离放在二台Web机械上,监控的Nagios安排在从Nginx/HAProxy机械上,流量监控我普通放主Nginx/HAProxy,软件采取的是MRTG+Nload的方法,办事器之间的数据同步我采取的是rsync+inotify的办法,固然更多时刻,我采取的是纯rsync方法,如许是防止网站有年夜文件产生修改的时刻会发生频仍读盘的费事;固然了,假如人人的公司对文件办事器有更高请求的时刻(好比图片类型的),我们可以斟酌再增长二台办事器,做成DRBD+Heartbeat+NFS的方法;假如有海量文件须要存储的话,我们可以斟酌用MFS,固然如许也是比拟耗机械的。
像相似以上的小公司集群架构里,我们是若何处理session同步的成绩呢?我们可以采取Nginx的ip_hash和HAProxy的balancesource机制,它们的道理比拟相似,都邑让某一客户机在相当长的一段时光内只拜访固定的后真个某台真实的Web办事器,如许会话就会得以坚持,我们在网站页面停止login的时刻,就不会在二台Web办事器之间跳来跳去了,天然也不会涌现上岸一次后网站又提示你没有上岸,须要从新上岸的情形;年夜型项目或网站可以斟酌用memcached的方法。
别的,小公司的Web办事器我们至多有二种选择:一种是Apache,另外一种是Nginx,在流量和并发不年夜的情况下,我们完整可以选择Apache作为我们的Web办事器,固然它的抗并发才能不高,但它的稳固性是最好的,我的很多电子商务网站都是基于Apache;而年夜流量年夜并发的情况,我比拟偏向于Nginx。
MySQL在这里我用的就是一主一从的设计,固然许多同伙认为这类设计比拟简略,但现实证实,它也最稳固的。我的电子商务网站也是采取这类架构,几年上去,从没有由于数据库的毛病产生过丢单景象,网站上线的后期阶段,我们可以经由过程PHP法式,把后台的查询功效的进口选择Slave机械,如许可以年夜年夜削减主数据库的压力;别的,从MySQL机械并不是仅仅只起一个备份和备机的感化,我们完整经由过程PHP法式将后台的庞杂查询转到从MySQL机械上。固然了,MySQL的主从复制状况监控也长短常主要的,我通常为经由过程Nagios和SHELL剧本双监控的方法。
若何能帮企业勤俭和省钱,这其实也是体系治理员/架构师的一项任务职责,愿望人人在任务中能融会到这点。
本文出自“操琴煮酒”博客,请务必保存此出处http://andrewyu.blog.51cto.com/1604432/710049
小知识:CentOS是一个基于RedHatLinux提供的可自由使用源代码的企业级Linux发行版本。
带来一篇小公司若何安排实行Linux集群网站
你需要提供精确有效的信息。Linux这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。 永中office 2004增强版安装只需要默认安装即可使用并操作大多与win系统雷同,打印机的配置和管理,记录光盘等。 学习Linux半年了~个人认为不会的多在网上找资料网上有很多资料可以搜索到,LS那位说放手去搞。 请问谁有Linux的学习心得的吗?简单的说说? 为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。 下面笔者在论坛看到的一个好问题: “安装红旗4.0后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练。 我是学习嵌入式方向的,这学期就选修了这门专业任选课。
页:
[1]