本文目录一览:

什么是网站架构

网站架构,一般认为是根据客户需求分析的结果,准确定位网站目标群体,设定网站整体架构,规划、设计网站栏目及其内容,制定网站开发流程及顺序,以最大限度地进行高效资源分配与管理的设计。其内容有程序架构,呈现架构,和信息架构三种表现。而步骤主要分为硬架构和软架构两步程序。网络架构是现代网络学习和发展的一个必须的基础技术。

中文名

网站架构

一般认为

根据客户需求分析的结果

制定

网站开发流程及顺序

内容

程序架构,呈现架构

快速

导航

软架构八个方案

硬架构

机房的选择

在选择机房的时候,根据网站用户的地域分布,可以选择网通或电信机房,但更多时候,可能双线机房才是合适的。越大的城市,机房价格越贵,从成本的角度看可以在一些中小城市托管服务器,比如说北京的公司可以考虑把服务器托管在天津,廊坊等地,不是特别远,但是价格会便宜很多。

带宽的大小

通常老板花钱请我们架构网站的时候,会给我们提出一些目标,诸如网站每天要能承受100万PV的访问量等等。这时我们要预算一下大概需要多大的带宽,计算带宽大小主要涉及两个指标(峰值流量和页面大小),我们不妨在计算前先做出必要的假设:

第一:假设峰值流量是平均流量的5倍。

第二:假设每次访问平均的页面大小是100K字节左右。

如果100万PV的访问量在一天内平均分布的话,折合到每秒大约12次访问,如果按平均每次访问页面的大小是100K字节左右计算的话,这12次访问总计大约就是1200K字节,字节的单位是Byte,而带宽的单位是bit,它们之间的关系是1Byte = 8bit,所以1200K Byte大致就相当于9600K bit,也就是9Mbps的样子,实际情况中,我们的网站必须能在峰值流量时保持正常访问,所以按照假设的峰值流量算,真实带宽的需求应该在45Mbps 左右。

当然,这个结论是建立在前面提到的两点假设的基础上,如果你的实际情况和这两点假设有出入,那么结果也会有差别。

服务器的划分

先看我们都需要哪些服务器:图片服务器,页面服务器,数据库服务器,应用服务器,日志服务器等等。

对于访问量大点的网站而言,分离单独的图片服务器和页面服务器相当必要,我们可以用lighttpd来跑图片服务器,用apache来跑页面服务器,当然也可以选择别的,甚至,我们可以扩展成很多台图片服务器和很多台页面服务器,并设置相关域名,如img.domain和 ,页面里的图片路径都使用绝对路径,如img src="" /,然后设置DNS轮循,达到最初级的负载均衡。当然,服务器多了就不可避免的涉及一个同步的问题,这个可以使用rsync软件来搞定。

数据库服务器是重中之重,因为网站的瓶颈问题十有八九是出在数据库身上。一般的中小网站多使用MySQL数据库,不过它的集群功能似乎还没有达到stable的阶段,所以这里不做评价。一般而言,使用MySQL数据库的时候,我们应该搞一个主从(一主多从)结构,主数据库服务器使用innodb表结构,从数据服务器使用myisam表结构,充分发挥它们各自的优势,而且这样的主从结构分离了读写操作,降低了读操作的压力,甚至我们还可以设定一个专门的从服务器做备份服务器,方便备份。不然如果你只有一台主服务器,在大数据量的情况下,mysqldump基本就没戏了,直接拷贝数据文件的话,还得先停止数据库服务再拷贝,否则备份文件会出错。但对于很多网站而言,即使数据库服务仅停止了一秒也是不可接受的。如果你有了一台从数据库服务器,在备份数据的时候,可以先停止服务(slave stop)再备份,再启动服务(slave start)后从服务器会自动从主服务器同步数据,一切都没有影响。但是主从结构也是有致命缺点的,那就是主从结构只是降低了读操作的压力,却不能降低写操作的压力。

为了适应更大的规模,可能只剩下最后这招了:横向/纵向分割数据库。所谓横向分割数据库,就是把不同的表保存到不同的数据库服务器上,比如说 用户表保存在A数据库服务器上,文章表保存在B数据库服务器上,当然这样的分割是有代价的,最基本的就是你没法进行LEFT JOIN之类的操作了。所谓纵向分割数据库,一般是指按照用户标识(user_id)等来划分数据存储的服务器,比如说:我们有5台数据库服务器,那么 “user_id % 5 + 1”等于1的就保存到1号服务器,等于2的就保存到2号服务器,以此类推,纵向分隔的原则有很多种,可以视情况选择。不过和横向分割数据库一样,纵向分割数据库也是有代价的,最基本的就是我们在进行如COUNT, SUM等汇总操作的时候会麻烦很多。综上所述,数据库服务器的解决方案一般视情况往往是一个混合的方案,以其发挥各种方案的优势,有时候还需要借助memcached之类的第三方软件,以便适应更大访问量的要求。

如果有专门的应用服务器来跑PHP脚本是最合适不过的了,那样我们的页面服务器只保存静态页面就可以了,可以给应用服务器设置一些诸如app.domain之类的域名来和页面服务器加以区别。对于应用服务器,我还是更倾向于使用prefork模式的apache,配上必要的xcache之类的PHP缓存软件,加载模块要越少越好,除了mod_rewrite等必要的模块,不必要的东西统统舍弃,尽量减少httpd进程的内存消耗,而那些图片服务器,页面服务器等静态内容就可以使用lighttpd或者tux来搞,充分发挥各种服务器的特点。

如果条件允许,独立的日志服务器也是必要的,一般小网站的做法都是把页面服务器和日志服务器合二为一了,在凌晨访问量不大的时候cron运行前一天的日志计算,不过如果你使用awstats之类的日志分析软件,对于百万级访问量而言,即使按天归档,也会消耗很多时间和服务器资源去计算,所以分离单独的日志服务器还是有好处的,这样不会影响正式服务器的工作状态。

软架构

框架的选择

PHP框架有很多选择,比如:CakePHP,Symfony,Zend Framework等等,至于应该使用哪一个并没有唯一的答案,要根据Team里团队成员对各个框架的了解程度而定。很多时候,即使没有使用框架,一样能 写出好的程序来,比如Flickr据说就是用Pear+Smarty这样的类库写出来的,所以,是否用框架,用什么框架,一般不是最重要的,重要的是我们 的编程思想里要有框架的意识。

逻辑的分层

网站框架设计的思路是怎么样的

1、网站色彩的布局

网站给客户的第一印象就是网站整体色调的样式,能够帮助我们为客户留下好印象,从而为后面的转化做好铺垫。

网页配色,合理的配色可以加深客户的记忆;

2、网站关键词的布局

作为现代企业很多都选择了与互联网相辅的思想来做网页优化,如果网站要做关键词排名,要合理布置网页关键词,因为这样的布局能够为网站带来一定的权重和收录,提升网站排名,从而提高转化量。

3、网站功能的布局

企业为了更好的留住客户,并提升客户的体验度,从而让线上自身官网开发一定的体验功能,帮助企业挽留客户的脚步,为企业带来咨询量。

4、网站栏目的布局

网站栏目的合理布局有两点作用:第一能够第一眼使客户明白我们能为他们提供什么服务;第二可以加强自身关键词的相关性和权重;

什么是网站总体架构设计

网站结构是指网站中页面间的层次关系,按性质可分为逻辑结构及物理结构。是现代网络学习和发展的一个必须的基础技术。根据需求分析的结果,准确定位网站目标群体,设定网站整体架构,规划、设计网站栏目及其内容,制定网站开发流程及顺序。

网站架构的内容有哪些?

有程序架构,呈现架构,和信息架构三种表现,步骤主要分为硬架构和软架构两步程序。

网站总体框架示意图是网站后台支撑系统的想法,一般取决于网站本身的建设意图。

网站架构水平的高低决定着网站的整体性能和运营模式的时效性和经济性,它的设计必须考虑到网站的模式、运营思路、用户群体使用习惯、网站的功能等等。

网站结构对网站的搜索引擎友好性及用户体验有着非常重要的影响。网站结构在决定页面权重上起着非常关键的作用,会直接影响到搜索引擎对页面的收录。一个合理的网站结构可以引导搜索引擎抓取到更多、更有价值的网页。如果网站结构混乱,往往就会造成搜索引擎陷入死循环、抓取不到页面等问题。网站结构的好坏会决定用户浏览的体验度,合理的网站结构是优化网站关键词排名的前提。

所以,网站结构可以影响网站内部页面的重要性,合理的内部链接策略就可以对重要页面进行突出、推荐等操作。

绘制网站概要图符号

网站概要图模板

如何设计一个真正有利于SEO的网站架构

最基本的网站架构设计三大原则

第一:为用户指导

规划网站时要记住一点,几乎每个用户开始时都并不知道去哪里、做什么以及如何找到他想要的内容。网站的架构如果认识到这种困难,利用熟悉的可用性标准建立直观的链接结构,就有可能带来正面的网站访问体验。精心组织的网站架构有助于解决这些问题,为用户和搜索引擎提供语义和可用性的好处。

第二:为搜索引擎表现

一个网站可以使用智能的架构,满足访问者对内容的期望,创建正面的浏览体验。这个结构不仅能够帮助人们更加轻松的浏览网站还能帮助搜索引擎看到,你的内容和逻辑概念分组融为一体。你可以用这种方法帮助产品应用和产品属性获得良好的排名。

第三:围绕主题设计

尽管网站架构只占据百度算法的一小部分,搜索引擎还是利用主题之间的关系,为以合理的方式组织的内容增加价值。例如,当你在不正确的分类中随机地加入子页面,排名就会受到影响。搜索引擎通过爬行web的丰富经验,发现主题架构中的模式。并奖励坚持直观内容流向的网站。

网站架构设计的一般标准

尽管网站架构设计通常是信息架构师的领域,不需要公司内部内容团队的帮助,但是,从长远看来,它对搜索引擎排名的影响是很显著的,因此遵循基本的搜索友好原则是明智的。

设计出一个好的网站架构需要你做出很多的用户行为分析,最后才能明白用户来到你的网站之后他们会做什么。

1、列出所有必须的内容页面(博客文章、文章、产品详情页面等)。

2、创建足以包含网站各个类型详细内容的顶级导航。

3、反转传统的自顶向下过程,从详细内容开始,向上创建一个能够涵盖每个页面的组织结构。

4、理解底层之后,填补中层的内容。增补子导航机构,使其合理地将顶级页面和详细内容联系起来。在小网站中,可能不需要这个层次,但是在较大的网站中,可能需要2-3级子导航。

5、加入辅助性页面,如版权、联络信息和其他非实质性内容。

6、构建展示网站所有页面的视觉层次(至少包括最后一级子导航)。