189-2726-4777

对于大型网站架构你需要注意的八大问题

2019-03-18 16:28 soyikj.com

  关于本文所指的大型网站,除了新闻类和一些依靠HTML静态化就可以实现的架构,这里主要讲解的就是高互动性高交互性的数据型大型网站的架构问题,主要有以下几点:
  一、海量数据的处理
  众所周知,对于一些相对小的站点来说,数据量并不是很大,select和update就可以解决我们面对的问题,本身负载量不是很大,多再加几个索引就可以搞定。对于大型网站,每天的数据量可能(maybe)就上百万,如果一个设计不好的多对多关系,在前期是没有任何问题的,但是随着用户的增长,数据量会是几何级的增长的。在这个时候我们对于一个表的select和update的时候(还不说多表联合查询)的成本的非常高的。
  二、数据并发的处理
  在一些时候,2.0的CTO都有个尚方宝剑,就是缓存。佛山SEO搜索引擎优化是一种利用搜索引擎的搜索规则来提高目前网站在有关搜索引擎内的自然排名的方式。对于缓存,在高并发高处理的时候也是个大问题。在整个应用程序(procedure)下,缓存是全局共享的,然而在我们进行修改的时候就,如果两个或者多个请求同时对缓存有更新的要求的情况(Condition)下,应用程序会直接的死掉。这个时候,就需要一个好的数据(data)并发处理策略以及缓存策略。另外,就是数据库的死锁问题,也许平时我们感觉不到,死锁在高并发的情况下的出现的概率是非常高的,磁盘缓存就是一个大问题。
  三、文件存贮的问题
  对于一些支持文件上传的2.0的站点,在庆幸硬盘容量越来越大的时候我们更多的应该考虑的是文件应该如何被存储并且被有效的索引。常见的方案是对文件按照日期和类型进行存贮。但是当文件量是海量的数据(data)的情况下,如果一块硬盘存贮了500个G的琐碎文件,那么维护的时候和使用的时候磁盘的Io就是一个巨大的问题,哪怕你的带宽足够,但是你的磁盘也未必响应过来。如果这个时候还涉及上传,磁盘很容易就损坏了。
  四、数据关系的处理
  我们可以很容易的规划出一个符合第三范式的数据(data)库,里面布满了多对多关系,还能用GUID来替换INDENTIFY COLUMN 但是,多对多关系充斥的2.0时代,第三范式是个应该被抛弃的。佛山网络推广指出网站优化使网站更容易被搜索引擎收录,提高用户体验(UE)和转化率进而创造价值。其实通俗的来讲,网站优化分为两个部分,一是站内优化,二是站外优化。必须有效的把多表联合查询降到低。
  五、数据索引的问题
  众所周知,索引是提高数据库效率查询的方面廉价容易实现的方案。但是,在高UPDATE的情况(Condition)下,update和delete付出的成本会高的没有办法想想,笔者遇到过一个情况,在更新一个聚焦索引的时候需要10分钟来完成,那么对于站点来说,这些基本上是不可忍受的。索引和更新是一对天生的冤家,问题A,D,E这些是我们在做架构的时候不得不考虑的问题,并且也可能是花费时间多的问题。
  六、分布式处理(chǔ lǐ)
  对于2.0网站由于其高互动性,CDN实现的效果基本上为0,内容是实时更新的,我们常规的处理。为了保证各地的访问速度,我们就需要面对一个绝大的问题,就是如何有效的实现数据同步和更新,实现各地服务器的实时通讯有是一个不得不需要考虑(consider)的问题。
  七、Ajax的利弊分析
  成也AJAX,败也AJAX,AJAX成为了主流趋势,突然发现基于XMLHTTP的post和get是如此的容易。佛山网站建设包括域名注册查询、网站策划、网页设计、网站功能、网站优化技术、网站内容整理、网站推广、网站评估、网站运营、网站整体优化、网站改版等。用户端get或者post 到服务(fú wù)器数据,服务器接到数据请求之后返回来,这是一个很正常的AJAX请求。但是在AJAX处理(chǔ lǐ)的时候,如果我们使用一个抓包工具的话,对数据返回和处理是一目了然。对于一些计算量大的AJAX请求的话,我们可以构造一个发包机,很容易就可以把一个webserver干掉。
  八、数据安全性(security)的分析
  对于HTTP协议来说,数据(data)包都是明文传输的,也许我们可以说我们可以用加密啊,但是对于G问题来说的话,加密的过程就可能是明文了(比如我们知道的QQ,可以很容易的判断他的加密,并有效的写一个跟他一样的加密和解密方法出来的)。当你站点流量(单位:立方米每秒)不是很大的时候没有人会在乎你,但是当你流量上来之后,那么所谓的外挂,所谓的群发就会接踵而来(从qq一开始的群发可见头绪)。也许我们可以很的意的说,我们可以采用更高级别的判断甚至HTTPS来实现,注意(attention),当你做这些处理的时候付出的将是海量的database,io以及CPU的成本。对于一些群发,基本上是不可能的。笔者已经可以实现对于百度空间和qq空间的群发了。大家愿意试试,实际上并不是很难。
  当我们的一台databaseserver不堪重负的时候,这个时候我们就需要做基于数据(data)库的负载和集群了。而这个时候可能是让人困扰的的问题了,数据基于网络传输根据数据库的设计的不同,数据延迟是很可怕的问题,也是不可避免的问题,这样的话,我们就需要通过另外的手段来保证在这延迟的几秒或者更长的几分钟时间内,实现有效的交互。比如数据散列,分割,内容处理(chǔ lǐ)等等问题。
    
上一篇:对于企业而言是否需要使用响应式网站分析
下一篇:对于网站设计,需要借鉴,也需要思考-网站设计

声明:本页内容由搜易科技有限公司通过网络收集编辑所得,所有资料仅供用户参考;本站不拥有所有权,也不承认相关法律责任。如您认为本网页中有涉嫌抄写的内容,请及时与我们联系进行举报,并提供相关证据,工作人员会在5个工作日内联系您,一经查实,本站将立刻删除涉嫌侵权内容。如果您对SEO优化核心技术文章感兴趣,请点击查看seo教程网站建设的相关文章,请关注搜易科技公司官网(www.soyikj.com)

相关资讯 Releva ntnews
服务推荐 Hot sale ltem
  1. 我们的承诺
  2. 我们的实力
  3. 我们的未来
服务热线

189-2726-4777

粤ICP备16046293号

Copyright © 2012-2016 佛山市搜易科技有限公司 All Rights Reserved‬