大型网站架构演化发展历程(一)

1.初始阶段的网站架构

  大型网站都是由小型网站发展而来,网站架构也是一样。小型网站最开始没有多少人访问,只需要一台服务器就绰绰有余。

2.应用服务和数据服务分离

  随着网站业务的发展,越来越多的用户访问导致性能越来越差,越来越多的数据导致存储空间不足。这时就需要将应用和数据分离。这时需要三台服务器:应用服务器、文件服务器和数据库服务器,如下图。这三台服务器对硬件的资源要求各不相同:应用服务器需要处理大量的业务逻辑,需要更快更强大的CPU;数据库服务器需要快速检索磁盘和缓存,因此需要更快的磁盘和更大的内存;文件服务器需要存储用户上传的文件,因此需要更大的磁盘。

  应用和数据分离之后,不同特性的服务器承担不同的角色,网站的并发处理能力和数据存储空间得到了很大的改善,支持网站业务进一步发展。

3.使用缓存改善网站性能

  随着用户逐渐增多,网站又一次面临挑战:数据库压力太大导致访问延迟,进而影响整个网站的性能,用户体验不好,这次就需要对网站架构进一步优化。

  网站访问特点同样遵循二八定律:80%业务访问集中在20%的数据上。淘宝买家浏览的商品集中在少部分成交多,评价良好的商品上;百度搜索关键词集中在少部分热门词汇上;只有经常登录的用户才会发微博、看微博,而这部分用户也是占总用户的一小部分(单证信息也是如此)。这样我们就可以把这一小部分数据放入内存中来提高访问效率。

  网站用的缓存服务器可以分为两种:缓存在应用服务器上的本地缓存和缓存在专门的分布式缓存服务器上的远程缓存。访问本地缓存要快一些,但是本地缓存受应用服务器内存限制,其缓存数据量有限,而且会出现和应用程序争内存的情况。远程分布式缓存可以采用集群方式,部署大内存的服务器作为缓存服务器,理论上可以做到不受内存的限制。

  使用缓存可以减小数据库访问压力,提高网站的数据访问速度,改善数据库的写入性能。

4.使用应用服务器集群改善网站的并发处理能力

  使用了缓存之后,数据访问压力得到了缓解,但是单机的应用服务器能够处理的请求连接有限,在网站访问高峰期,应用服务器就会成为整个网站的瓶颈。

  使用集群是网站解决高并发、海量数据问题的常用手段。当一台服务器的处理能力、存储空间不足时,不要企图去更换更强大的服务器(这种方式传统行业或许可以,但并不适用于互联网行业)。这种情况下,更恰当的做法是增加一台服务器分担原有服务器的访问以及存储压力。使用了集群之后同时也需要增加一台负载均衡调度服务器来进行请求分发。

5.数据库读写分离

  网站在使用缓存之后,使得绝大部分读操作都可以不通过数据库就可以完成,但是仍有小部分读操作(缓存没有命中、缓存过期)和全部的写操作都访问数据库,因此在网站的用户到达一定规模之后,数据库因为负载压力过高而成为网站的瓶颈。

  可以使用数据库主从的方式来改善这一问题:读操作在从库执行,写操作在主库执行然后将数据同步到从库。

  为了便于应用程序访问读写分离后的数据库,通常在应用服务器端使用专门的数据访问模块,使得数据读写分离对应用透明。

原文地址:https://www.cnblogs.com/sleepy-goblin/p/10139661.html

时间: 2024-10-01 07:15:39

大型网站架构演化发展历程(一)的相关文章

(转)大型网站架构演化发展历程

前面已经描述了大型网站系统的特点,而对一个大型网站系统,其架构也是重要的一个环节. 大型网站技术主要的挑战来自于庞大的用户.高并发以及海量的数据这三个方面.大型网站的形成就像一颗大树的成长,历尽长时间的磨练,最后枝繁叶茂,服务他人. 初始网站架构结构 起初的网站鉴于用户量.访问量较少,只需要一台服务器足以,应用程序.数据库.文件等其所有资源放在一太服务器上就已经足够满足此时的需求,这时候网站的架构就几个简单组成部分如下图 应用和数据服务分离 随着网站业务需求的发展,越来越多的用户进行访问,此时一

大型网站架构演化发展历程

初始阶段的网站 小型网站没有多少人访问,一个机器即可:应用服务,文件服务,数据库服务.三个服务全部在一起. 应用服务与数据服务分离 随着用户量的增加,一个服务器已不能满足需求.这个时候将服务拆分,分别安装在三个服务器上:应用服务器,文件服务器,数据库服务器. 应用服务器需要对业务逻辑进行处理,对CPU的性能要求较高.数据库服务器对数据快速检索.保存等操作要求高,因而对硬盘和内存有很大需求. 文件服务器主要对磁盘要求较高. 使用缓存改善网站性能

1.2 大型网站架构演化发展过程[读书敲录]

大型网站技术挑战主要来自庞大的用户,高并发的访问和海量的数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得很棘手.大型网站架构主要就是解决这类问题. 1.2.1初始阶段的网站架构 大型网站都是从小型网站发展而来,网站架构也是一样,是从小型网站架构逐步演化而来.小型网站最开始的时没有太多人访问,只需要一台服务器就绰绰有余,这时的网站架构如图1.1所示. 图1.1初始阶段的网站架构 应用程序.数据库.文件等所有资源都在一台服务器上.通常服务器操作系统使用Linux,应用

网站架构演化发展历程

大型网站系统的特点 1,高并发,大流量:需要面对高并发用户,大流量访问. 2,高可用:不间断服务. 3,海量数据:管理处理海量数据,使用大量服务器. 4,需求快速变更,发布频繁:互联网产品为快速适应用户需求,版本迭代. 1. 初始阶段的网站架构 2. 应用服务器和数据服务分离 随着网站业务的发展,一台服务器逐渐不能满足需求:越来越多的用户访问导致性能越来越差,越来越多的数据导致存储空间不足.这是就需要将应用和数据分离.应用和数据分离后整个网站使用三台服务器:应用服务器.文件服务器和数据库服务器,

大型网站架构演化历程

大型网站的挑战主要来自庞大的用户,高并发的访问和海量数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得棘手.大型网站架构主要就是解决这类问题. 本文内容大部分来自<大型网站技术架构>,这本书很值得一看,强烈推荐. 大型网站系统的特点 高并发,大流量 需要面对高并发用户,大流量访问.Google 日均 PV 35 亿,日 IP 访问数 3 亿:腾讯 QQ 的最大在线用户数 1.4 亿(2011年数据). 高可用 系统 7 x 24 小时不间断服务. 海量数据 需要存

大型网站技术架构(一):大型网站架构演化

第一章:大型网站架构演化 九层之台,始于垒土:千里之行,始于足下. 对于网站的发展,亦是如此,从上世纪90年代开始,互联网经历了20多年的发展,发生了翻天覆地的变化,今天,全球有一半的人使用互联网,从信息检索到实时通信,从电子购物到文化娱乐,互联网渗透到了生活的每一个角落.但是,构建一个高性能的网站,绝非一朝一夕可以完成,我们来看下,作为一个大型网站系统应有的特点: 1.大型网站系统应有的特点 高并发,大流量:需要面对高并发用户,大流量访问.举个例子,去往迪拜的飞机有200张票,但是有100w人

《大型网站技术架构-核心原理与案例分析》之一: 大型网站架构演化

最近刚刚读完李智慧的<大型网站技术架构-核心原理与案例分析>,对每章重点内容作了一些笔记,以便加深印象及日后查阅. 一.大型网站软件系统的特点 高并发,大流量:需要面对高并发用户,大流量访问. 高可用:系统7X24小时不间断服务. 海量数据:需要存储.管理海量数据,需要使用大量服务器. 用户分布广泛,网络情况复杂:许多大型互联网都是为全球用户提供服务的,用户分布范围广,各地网络情况千差万别. 安全环境恶劣:由于互联网的开放性,使得互联网站更容易受到攻击,大型网站几乎每天都会被黑客攻击. 需求快

读书笔记1: 大型网站架构演化

大型网站系统的特点 高并发,大流量,PV巨大 高可用,7*24 海量数据,P级别 用户分布广泛,网络情况复杂,不同运营商 安全环境恶劣,黑客攻击 需求快速变更,发布频繁,快速跟进市场,需求变更快 渐进式发展,从小网站一步一步进化 ? 大型网站架构的演化历程 初始阶段网站架构,一台服务器, 一台Server就部署-应用程序.数据库.文件等所有资源都集中在一台Server上,典型案例:基于LAMP架构的PHP网站 应用服务和数据库服务分离, 三台Server平天下-业务发展,单台不再适应业务的发展,

《大型网站技术架构》读书笔记一:大型网站架构演化

一.大型网站系统特点 (1)高并发.大流量:PV量巨大 (2)高可用:7*24小时不间断服务 (3)海量数据:文件数目分分钟xxTB (4)用户分布广泛,网络情况复杂:网络运营商 (5)安全环境恶劣:黑客的攻击 (6)需求快速变更,发布频繁:快速适应市场,满足用户需求 (7)渐进式发展:慢慢地运营出大型网站 二.大型网站架构演化过程 (1)初始阶段网站架构:一台Server就刚需-应用程序.数据库.文件等所有资源都集中在一台Server上,典型案例:基于LAMP架构的PHP网站 (2)应用和数据