所谓服务器架构,也就是如何将服务器各部分合理地安排,以实现最初的功能需求。所以,架构本无所谓正确与错误;当然,优秀的架构更有助于系统的搭建,对系统的可扩展性及可维护性也有更大的帮助。
服务器架构优化
1、一台“全能”的服务器
把应用系统网站、数据库、文件系统等都在一台服务器下,这样形成了最初级的服务器,一般是非常简单的应用,使用的用户量相当有限。一些企业的门户网站或刚上线使用的系统会采用这样的方式进行部署。
2、系统网站、数据库和文件系统不同的服务器进行部署
这个有先考虑的是把数据库和系统网站分离出来部署到不同的服务器。很多的系统网站很长一段时间都是把系统网站和文件服务器放在一起,把数据库分离出去后发现网站的性能没有多大的提升时,才考虑把文件系统从系统站点分离出去,减少读取文件带来了网络开销和IO读取。在配置服务是需要根据服务器所承载的职责用途分配不同性能的硬件设备,如文件服务器更需要考虑的是硬盘。
网站架构,一般认为是根据客户需求分析的结果,准确定位网站目标群体,设定网站整体架构,规划、设计网站栏目及其内容,制定网站开发流程及顺序,以最大限度地进行高效资源分配与管理的设计。其内容有程序架构,呈现架构,和信息架构三种表现。而步骤主要分为硬架构和软架构两步程序。网络架构是现代网络学习和发展的一个必须的基础技术。对于访问量大点的网站而言,分离单独的图片服务器和页面服务器相当必要,我们可以用lighttpd来跑图片服务器,用apache来跑页面服务器,当然也可以选择别的,甚至,我们可以扩展成很多台图片服务器和很多台页面服务器,并设置相关域名,页面里的图片路径都使用绝对路径,然后设置DNS轮循,达到最初级的负载均衡。当然,服务器多了就不可避免的涉及一个同步的问题,这个可以使用rsync软件来搞定。
数据库服务器是重中之重,因为网站的瓶颈问题十有八九是出在数据库身上。现在一般的中小网站多使用MySQL数据库,不过它的集群功能似乎还没有达到stable的阶段,所以这里不做评价。一般而言,使用MySQL数据库的时候,我们应该搞一个主从(一主多从)结构,主数据库服务器使用innodb表结构,从数据服务器使用myisam表结构,充分发挥它们各自的优势,而且这样的主从结构分离了读写操作,降低了读操作的压力,甚至我们还可以设定一个专门的从服务器做备份服务器,方便备份。不然如果你只有一台主服务器,在大数据量的情况下,mysqldump基本就没戏了,直接拷贝数据文件的话,还得先停止数据库服务再拷贝,否则备份文件会出错。但对于很多网站而言,即使数据库服务仅停止了一秒也是不可接受的。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)