《大型网站技术架构》(一)——大型网站架构演化

主要内容:

  • 特点
  • 演化历程

近期正在阅读《大型网站技术架构:核心原理与案例分析》,读一本书不关要阅读它还要进行总结归纳,因此记录一些笔记来加深自己对于大型网站架构的理解和印象。
本文主要介绍大型网站架构的特点、演化,首先先来说下什么是大型网站软件系统呢,它有什么特点呢?

特点

  • 高并发、大流量:即高并发用户、大量PV。
  • PV(page view):页面访问量,其实就是用户在一天内点击了网站的几个页面,指页面刷新的次数
  • UV(unique visitor):独立访客数,即访问某站点或某网页不同ip地址的个数;
  • PR(pagerank):网页级别,表示网页的重要性,等级越高的网站说明越受欢迎。
  • 高可用:系统能不间断7X24小时提供服务。
  • 海量数据:要能存储并管理大量数据,海量没有明确的规定,一般达到xxPB级别。
  • 用户分布广泛:大型网站许多为全球用户提供服务,分布范围广;运营商网络差异。
  • 安全问题:由于互联网的开放性,网站容易遭到攻击。
  • 需求迭代,版本发布频繁:快速适应市场变更,满足用户需求,经常迭代需求从而需要频繁发布产品版本。
  • 渐进式发展:大型互联网产品是由小网站慢慢运营渐渐发展起来的。

不难发现上述介绍的不仅仅是特点,也是大型网站面临的技术挑战,一直要解决的问题。

大型网站架构演化历程

接下来介绍下大型网站架构的演化历程,更能加深我们对于架构的理解,以及从什么方面来考虑设计架构。

初始阶段

大型网站是由小型网站渐进式发展生成的,小型网站因为访问量较小,因此只需要一台服务器,而应用系统、文件、数据库所有资源都在一台服务器上,如图所示。优点很明显,开发部署简单。

初始阶段

应用服务和数据服务分离

单台服务器不能满足逐渐发展的业务,大量用户访问导致性能变差、大量数据导致存储空间不足。这时候就需要将应用和数据分离,由原来的单台服务器演化成三台服务器。三台服务器负责不同的服务,应用服务器处理大量业务逻辑,需要更快更强的cpu;数据库服务器负责数据存储和快速磁盘检索,需要更快的硬盘和更大的内存;文件服务器需要存储用户上传的文件,需要更大的硬盘空间,如图所示。

应用服务和数据服务分离

缓存热点数据

但随着用户量的增多,使得数据库压力过大,这导致了网站访问延迟,进而影响整个网站性能。
先来介绍下二八定律

二八定律:网站访问特点也遵循二八定律,即80%的业务访问集中在20%的数据上。

大部分业务访问都集中在部分热点数据上,因此可以进一步对网站架构优化,将热点数据缓存在内存中,减少对数据库的访问压力。
主要由在应用服务器的本地缓存和缓存在专门的分布式缓存服务器上的远程缓存两种方式进行热点数据的缓存,如图所示。显而易见,本地缓存速度更快,但由于它部署在应用服务器上,会收到应用服务器内存限制;而远程缓存采取集群方式,有专门的缓存服务器,基本可以不受内存容量限制。

热点数据缓存

应用服务器集群

上一步采用缓存,缓解了数据库访问压力,然而随着网站访问量增加,单一应用服务器处理的请求有限,成为网站瓶颈。
集群是网站解决高并发、海量数据的常见手段。通过负载均衡将来自用户浏览器的访问请求分发到应用服务器的任何一台服务器上。

应用服务器集群

数据库读写分离

使用缓存后,大部分数据都可以使用缓存读取,不需要通过数据库操作。但也有缓存读取未命中和缓存过期的读操作,和全部的写操作需要操作数据库,当用户访问达到一定量后,数据库因为负载压力过高而成为瓶颈。
因此进一步优化架构,数据库提供主从热备,配置两台数据库的主从关系,实现数据库读写分离。应用服务器写数据时,访问主数据库,主数据库通过主从复制将数据更新同步到从数据库;读数据时通过从数据库获取数据。一般应用服务器专门设有数据访问模块。

数据库读写分离

反向代理和CDN

随着用户规模的不断增大,全球范围内用户访问网站时,各区域访问速度差异大,因此需要提高用户体验度,加速网站响应速度。
主要优化手段有反向代理CDN,两者的基本原理都是缓存,目的都是为了加快访问速度以及减轻服务器的负载压力。

  • CDN主要部署在网络提供商的机房,用户请求服务时可以从最近的网络提供商获取数据;
  • 反向代理部署在网络的中心服务器,当用户请求到达内部网络中心服务器,先访问反向代理服务器,如果反向代理服务器缓存了用户请求的资源,将其直接返回给用户。

反向代理:由代理服务器接受用户请求,将请求转发给内部服务器,并将处理后的结果返回给在网络上发起请求的客户端。后续会写一篇正向代理和反向代理的区别。

反向代理和CDN

分布式文件系统和数据库系统

单一服务器不难满足增长的业务需求。因此使用分布式数据库分布式文件系统
常见的数据库分布式手段有:业务分库,按业务拆分,将不同业务的数据库部署在不同的物理服务器上;分表分库

分布式文件系统和分布式数据库

NoSQL和搜索引擎

随着业务越来越复杂,对数据库海量存储和检索的需求越来越复杂。技术方面采取NoSQL数据库进行海量数据存储,和搜索引擎进行数据的快速检索,利用它们可伸缩的分布式特性。

业务拆分

应对复杂的业务场景,将业务分成不同的产品线,具体到技术上,将大型网站进行业务拆分分成不同的应用,各个应用独立部署维护。应用之间可以通过消息队列进行数据分发;也可以通过超链接方式进行关联;当然最简单的是访问同一数据存储系统来构成一个关联的完整系统。

分布式服务

不难发现许多应用系统都会执行相同的业务服务,例如用户管理,为了进一步优化网络架构,可以提取公用业务服务独立部署,复用这些公共服务,应用系统只需要管理用户界面,通过分布式服务调用公用业务服务,来完成具体的业务操作。例如分布式服务框架dubbo。

思维导图

大型网站架构演化

参考文章
《大型网站技术架构:核心原理与案例分析》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容