千家信息网

怎么为小公司部署实施Linux集群网站

发表于:2024-10-18 作者:千家信息网编辑
千家信息网最后更新 2024年10月18日,小编给大家分享一下怎么为小公司部署实施Linux集群网站,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!其实在许多小公司和小
千家信息网最后更新 2024年10月18日怎么为小公司部署实施Linux集群网站

小编给大家分享一下怎么为小公司部署实施Linux集群网站,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

其实在许多小公司和小企业里,尤其是牵涉到电子商务和电子广告类的网站,他们的网站也要求作负载均衡高可用的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/rmpforge-release。这个安装成功以后,我们可以通过命令yum -y install nload很轻松的安装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的balance source机制,它们的原理比较类似,都会让某一客户机在相当长的一段时间内只访问固定的后端的某台真实的Web服务器,这样会话就会得以保持,我们在网站页面进行login的时候,就不会在二台Web服务器之间跳来跳去了,自然也不会出现登陆一次后网站又提醒你没有登陆,需要重新登陆的情况。

另外,小公司的Web服务器我们至少有二种选择:一种是Apache,另一种是Nginx,在流量和并发不大的环境下,我们完全可以选择Apache作为我们的Web服务器,虽然它的抗并发能力不高,但它的稳定性是***的,我的许多电子商务网站都是基于Apache;而大流量大并发的环境,我比较倾向于Nginx。

MySQL在这里我用的就是一主一从的设计,虽然很多朋友觉得这种设计比较简单,但事实证明,它也最稳定的。我的电子商务网站也是采用这种架构,几年下来,从没有因为数据库的故障发生过丢单现象,网站上线的前期阶段,我们可以通过PHP程序,把后台的查询功能的入口选择Slave机器,这样可以大大减少主数据库的压力;另外,从MySQL机器并非仅仅只起一个备份和备机的作用,我们完全通过PHP程序将后台的复杂查询转到从MySQL机器上。当然了,MySQL的主从复制状态监控也是非常重要的,我一般是通过Nagios和SHELL脚本双监控的方式。

以上是"怎么为小公司部署实施Linux集群网站"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

流量 网站 服务 服务器 软件 选择 公司 均衡 机器 集群 架构 监控 机房 方式 数据 二台 就是 数据库 时候 朋友 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中国对外经济数据库在哪里 盐城博安网络技术服务有限公司 蓝帕网络技术有限公司 长沙财经软件开发公司 基于龙芯的系统软件开发 怀柔区进口软件开发经历 促织笔记软件开发 说明数据库系统是由哪几部分组成 软件开发需要经验吗 远程服务器是服务器卡关机 网络安全的顺口溜5句 掌易乐游网络技术有限公司 网络安全陷阱怎么解决 技控网络安全 聊城安卓软件开发公司有哪些 航天航空软件开发商 godaddy数据库主机 数据库安全技术加密 塔式服务器值得购买吗 天象网络技术设计 厦大研究生网络安全 甘肃银联网络技术服务代理品牌 武清区媒体网络技术售后保障 台式电脑服务器自动生产线品牌 上海幕智网络技术有限公司 省市联动 数据库 软件开发的行业动向 广电网络安全整改计划 合肥工程管理软件开发要多少钱 网络安全教育培训考试内容
0