网站架构结构的变迁史

news/2024/5/8 20:03:29/文章来源:https://blog.csdn.net/weixin_30892763/article/details/95276648

    前些天看到一篇不错的文章[1],讲的是网站架构的发展历史,这种综述的文章往往很难得,这里进行一个简化诉述和我个人的解读,详细的信息可以参看Ref的连接。首先,我先给一个通俗的理解,网站架构发展的驱动力是用户数和数据量的膨胀,压力瓶颈在websever连接和database之间来回切换,解决问题的三板斧:加缓存(精益求精地做缓存。。。)、加机器(多搞搞分布式,一台不行多台)和功能分离(读写分离、业务分离、动静分离等等)。下面是所读那篇文章的主要思路。

    网站架构的演变主要经历了如下几个阶段:

    1、物理分离webserver和数据库

 

    比较直观,不再赘述。

    2、增加页面缓存

    目的是减小数据库连接的资源竞争以及对数据库读访问的压力,此时会采用squid等机制将更新周期相对较长的静态页面做缓存,从而减少对webserver和databse的压力。

    3、增加页面片段缓存

    采用前端页面缓存类似的技术,不过这里更进一步将动态页面中相对静态的部分也做了缓存,使用ESI之类的页面片段缓存策略。进一步缓解database的读压力。

    4、数据缓存

    同样的思路,不过这里是将数据库中经常访问的、重复获取的数据放到缓存里,也就是数据缓存,进一步缓解数据库压力。由此可见,在网站发展的开始阶段,大家提高网站性能的主要途径就是加缓存,另外,在这些阶段,database的IO始终是限制并发和性能瓶颈。

    5、增加webserver

    随着系统访问量的进一步增加,websever上的压力徒增,在高峰时无法保证稳定连接,这是为了解决可用性问题,避免单点,引入了多机。sever集群的介入带来一些新问题,也诞生了一些新技术:负载均衡问题(Apache自带的负载均衡或者lvs),可靠性问题(主备技术,heart-beat等),状态信息同步问题(用户session同步和共享技术、状态信息广播),缓存信息的同步(分布式缓存,缓存同步等),多机系统文件功能的保持(共享文件、共享存储等等) 

    6、分库

    此时应对的数据量的膨胀,数据库需要进行分库和调优,database也分摊到多机上面。

 

    7、分表、DAL和分布式缓存

    数据量继续大幅增长,于是出现了通用的框架来实现分库分表的数据访问(例如ebay架构中对一个的DAL),并且由于数据量过大,不太可能再缓存在本地,于是采用了分布式缓存。动态hash算法、一致性hash以及DAL技术得到了广泛的应用。

    8、增加更多的server

    当上面的技术缓解了database的压力时,webserver又成为瓶颈,尤其是面临越来越多的连接请求,过高的请求数会被apache服务器阻塞排队,从而响应速度变慢。此时就需要进一步的增加websever的数量,这带来了新的挑战,例如之前的负载均衡方法hold不住了(硬件负载,如F5、Netsclar、Athelon之类的开始成为选择,但价格昂贵,或者采用逻辑分类的方法,将请求分散到不同的软负载集群)、文件共享瓶颈(分布式文件系统迎来了大规模应用)

 

    9、数据读写分离和廉价存储方案

    websever连接的问题得到缓和了,数据库又出问题了,此时分析数据库的压力情况,发现其读写比很高,因此想到了读写分离方案,另外编写一些更为廉价的存储方案,例如BigTable。

     10、大型分布式应用时代和廉价服务器群的时代

    这时做的主要事情是将系统进行业务职责才分,形成大型的分布式应用,这个步骤相当艰难和耗时,主要挑战有(下面三点摘的原话):

    1)、拆成分布式后需要提供一个高性能、稳定的通信框架,并且需要支持多种不同的通信和远程调用方式;

      2)、将一个庞大的应用拆分需要耗费很长的时间,需要进行业务的整理和系统依赖关系的控制等;

      3)、如何运维(依赖管理、运行状况管理、错误追踪、调优、监控和报警等)好这个庞大的分布式应用。

 

Ref:

[1] http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html 

转载于:https://www.cnblogs.com/EE-NovRain/p/3283383.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_750567.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站配置https

https证书有四种,这里我们只介绍最简单并且免费的,域名证书。 写这篇文章的原因很简单,上一篇文末我说要使用WebRTC进行屏幕录制或者是远程桌面分享,必须要使用https,可能有很多人还不太会配置https,今天就…

浅谈大型网站之负载均衡架构

概念 负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。 负载均衡建立在现有网络结构之上,它提…

整合营销系统推荐乐云seo_seo公司

seo公司  网下推广:借助线下的平面媒体:名片、标志、彩页等一些列的传统媒体进行网站的推广。【篇二】网络营销策划方案  一、网站分析  1、网站流量分析  安装一套流量统计系统,可以清晰的判断网站目前所有营销手段的效果&#xff0…

生成静态html文件_2019年最流行的静态网站生成器有哪些?

静态站点生成器变得越来越流行。下面解释一下我们所说的“静态站点生成器”到底是什么。静态站点生成器是介于手工编码的静态站点和 CMS 之间,同时保留两者优点的折中解决方案。本质上,你会使用类似 CMS 模版的概念生成静态 HTML 站点。内容可能会是从数…

撑起12306网站,全靠这个世界第一的缓存框架!

提起业务量,除了京东618,淘宝双11,当数全民抢票平台 12306最有发言权。后台有位粉丝问了个很典型的问题,同样是架设在阿里云上的服务器,为什么12306经常会宕机,而双11阿里每秒钟50多万笔订单,都…

ASP.NET 4中的SEO改进

ASP.NET 4包括了一系列新的运行时特性,可以帮助你进一步优化你的网站。其中一些新特性可以用来进行SEO优化以提高网站在搜索引擎中的排名和权重,这些特性包括: 新的Page.MetaKeywords 和 Page.MetaDescription 属性 针对ASP.NET Web Forms的新…

大型网站架构演变和知识体系

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么…

从LiveJournal后台发展看大规模网站性能优化方法

因近期打算对公司应用架构进行调整, 其中的一些思路值得借鉴. 以下为转载内容: 一、LiveJournal发展历程 LiveJournal是99年始于校园中的项目,几个人出于爱好做了这样一个应用,以实现以下功能: 博客,论坛社会性网络&#xff0…

23个精美的的国外网站设计作品推荐欣赏

如果一个网站的内容不是很多而且将来内容也不怎么增加的话,那么制作成单页(Single Page Websites)的形式是很好的选择。这种只有一个页面的网站形式,曾经非常流行,现在依然有很多人喜欢。如果你也想做一个这样的网站&a…

01火山PC开发网站-我的第一个网页程序

大家好,我是你们的老师利快云,后续我们将会持续性的更新火山PC开发网站的文章,欢迎大家持续性的关注~ PS:文章正式开始~ 首先我们新建一个火山PCMFC窗口项目,并添加我们所安装的模块,如下图: …

Spring Boot + Vue 音乐网站开源项目,前后端分离,拿来练手真不错!

点击关注公众号,Java干货及时送达参考:github.com/Yin-Hongwei/music-website项目说明本音乐网站的客户端和管理端使用 VUE 框架来实现,服务端使用 Spring Boot MyBatis 来实现,数据库使用了 MySQL。项目功能音乐播放用户登录注册…

火山PC炫彩+html解析网站

火山PC炫彩列表html解析网站 本文作者:灰羊羊 一、火山调用的模块 1.炫彩界面库 2.html解析工具类 3.火山模块 二、正文开始,首先创建火山的项目 创建一个火山的空窗口项目,此处我们使用炫彩的界面,创建成员,最后返回要为0&#…

Android学习资料整理:流行框架网站书籍推荐---博客推荐

| 图片加载 | Glide | 可播放gif,谷歌推荐的图片加载 | | 图片加载 | Fresco | 可播放gif,流畅性最好的加载框架,Facebook 出品 | | 图片加载 | Picasso | squre inc.开源的图片加载框架。 | | 图片处理 | Picasso—transformations | 图片处…

Android程序员35岁之后还在招聘网站上投简历找工作丢人吗?

5.没啥明显长处,但做事踏踏实实,交给你的事情不会出漏子,和你工作过的人觉得和你搭档舒心。 6.虽然有个性,但也有创意,能做别人想不出来的好策划,好设计。 7.要么擅长娱乐酒席,要么擅长活动组…

Spring Boot + Vue 音乐网站开源项目,前后端分离,拿来练手真不错!

项目说明 本音乐网站的客户端和管理端使用 VUE 框架来实现,服务端使用 Spring Boot MyBatis 来实现,数据库使用了 MySQL。 项目功能 音乐播放用户登录注册用户信息编辑、头像修改歌曲、歌单搜索歌单打分歌单、歌曲评论歌单列表、歌手列表分页显示歌词…

主导SEO成败的关键是细节的布局,细数SEO三大布局思路

有的人认为SEO操作就类似车间工作,有一个完整的流程,整套流程下来网站就会有一个好的排名。这样是不对的,优化的着重点是要有一个好的思维,技巧和策略,把这些着重点相结合的运用到SEO优化中,很大的机率会达…

网站架构演化

http://www.ha97.com/5095.html 说到大型网站,就得先说大型网站的特点:高并发、大流量、高可用、海量数据等。下面就说说大型网站的架构演化过程吧。 1. 初始阶段的网站架构 初始阶段都比较简单,通常一台服务器就可以搞定一个网站了&#xff…

网站都变成灰色,几行代码就搞定了!

点击关注公众号,Java干货及时送达推荐阅读:Spring 旗下最牛逼的国产项目!Spring Boot 3.0 正式发布,王炸!!当大家看到全站的内容都变成了灰色,包括按钮、图片等等。这时候我们可能会好奇这是怎么…

网站导航颜色停留_老外喜欢什么样的外贸网站?

在经济全球化的大背景之下,电子商务在海外市场拓展中的作用越来越凸显。符合国际化标准的外贸网站的建设,对于外贸企业的海外市场拓展和良好品牌建立的意义是十分重大的。今天,全球搜根据多年来的外贸建站经验,与大家分享如何打造…

从上百幅架构图中学得半点大型网站建设经验(上)

从上百幅架构图中学大型网站建设经验(上)引言 近段时间以来,通过接触有关海量数据处理和搜索引擎的诸多技术,常常见识到不少精妙绝伦的架构图。除了每每感叹于每幅图表面上的绘制的精细之外,更为架构图背后所隐藏的设计…