大型网站术架构探讨.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大型网站术架构探讨

架构设计理论与原则 ■考量成本,先硬后软原则 大型网站架构的目标与挑战 网站架构演变及其技术脉络 架构设计理论与原则 讨论及总结 讨论及总结 ■大型网站架构是怎么样子的? ■存在万能的架构吗?架构本质是什么? ■网站架构如何选型?开发语言重要吗? ■架构只是浮云?神马才是重要的?。。。 Thank you!- QA 余浩东 IT顾问 网站: 邮箱:yuhaodong@ 那是不是流量大就是大型网站呢?Google Analytics 追求这3个目标,是网站闹腾的根源 一般地,本文提到的物理服务器都是泛指pc级物理服务器;Web Server泛指HTTP服务器和应用服务器综合体 对于一个试水性网站来说为了节约成本,Web Server和DB Server都放在同一台pc Server服务器上是常见的事情。 当网站访问量增大,cpu处理能力是瓶颈的时候,通过把web Server和Db Server简单物理分开的,效果明显 访问量持续增大,页面响应越来越慢。考虑到网站还处在试水性成长阶段,节约成本,硬件不动,着重应用本身优化。 采取缓存处理机制是个必然的选择 有时间还可以吹一下idempotent,etag(/cn/articles/etags) 访客向网站发出访问请求,由前端页面缓存器负担原服务器的处理进程做出响应,获取原服务器的相应网页内容,将其储存在自身的内存中,与 此同时,传送给访客这一缓存的内容;如有另一访客也请求访问之前的相同内容,前端页面缓存器毋须再次获取原服务器上的相应内容,而直接从自身的内存中获取,将这一内容传送给访客。反之,前端页面缓存器也可缓存访客的GET和POST请求。   访客实际面对的是前端页面缓存器,与网站之间的通讯完全由前端页面缓存器反向代理,而非原服务器直接响应访客,这将大大加快访客上网流畅度,有效提升访问量,显著降低带宽占用,减轻原始服务器的繁忙度,加快响应速度,毋须不停地购置大内存,大硬盘,扩容电力设施为服务器端节省成本。 ESI是一个基于XML的标记语言,目的是在HTTP中组装各种资源。在实际环境中,一个动态生成的页面,当中可能只有少量的内容是频繁变化的或是个性化的,对于传统的Cache服务器来说,为了能够保证页面的时效性,却由于页面中这些少量的动态内容而无法将整个页面进行缓存。ESI通过使用简单的标记语言来对那些可以缓存和不能缓存的网页中的内容片断进行描述,每个网页都被划分成不同的小部分分别赋予不同的缓存控制策略,使Cache服务器可以根据这些策略在将完整的网页发送给用户之前将不同的小部分动态地组合在一起。通过这种控制,可以有效地减少从服务器抓取整个页面的次数,而只用从原服务器中提取少量的不能缓存的片断,因此可以有效降低原服务器的负载,同时提高用户访问的响应时间。 常见缓存算法 贝莱蒂算法(Beladys Algorithm) 最有效率的缓存算法会丢掉未来最长时间内不使用的数据。这种理想情况被称作贝莱蒂最优算法或者千里眼算法。由于要预计数据要多久后才被使用基本上是不可能的,所以这种算法没有实际的可操作性。它的作用在于为不同的缓存算法订立一个优劣标准。 最近最少使用算法(LRU,Least Recently Used) 最近最少使用算法的思路是丢弃近段时间内最少被使用的数据。要实现这种算法需要跟踪数据何时被使用,用这种方法来筛选去近一段时间被最少使用次数的数据其代价往往是昂贵的。它的实现往往是通过在缓存数据上设立时间标志位,用以跟踪最近最少被使用的缓存数据。一个数据每被使用一次,其他数据的时间标志位数值就要增加。 最近最频繁使用算法(MRU,Most Recently Used) 最近最频繁使用算法和最近最少使用算法相反,它会首先丢弃最近最常使用的数据。有观点认为“当文件在顺序访问时,MRU算法是最佳选择”,抱有这样观点人也认为在反复进行大量数据的随机存储时,MRU因为倾向于保留旧的数据,随意比LRU算法有着更高的命中率。MRU算法经常用于旧的数据更常被用到的情况下。 伪LRU算法(PLRU,Pseudo-LRU) 因为缓存有着大量的关联性,LRU算法实现的代价往往比较昂贵。如果实际情况在丢弃任一个最近最少使用的数据就能满足,那么伪LRU算法就派上用场了,它为每一个缓存数据设立一个标志位就可以工作。 网站反馈不错,业务发展比较顺利。终于有傻逼VC投钱了,银弹充足,就必须考虑网站可用性及服务容量冗余性问题。增加机器,搞HA是必然选择了 DNS负载均衡\反向代理负载均衡\直接路由\F5硬件 LVS(LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高

文档评论(0)

181****7127 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档