一、大型网站架构演化

1、网站服务分离对服务器硬件资源的要求

应用服务器:需要更快更强大的CPU处理大量的业务逻辑

数据库服务器:需要更快的硬盘和更大的内存快速磁盘检索和数据缓存

文件服务器:需要更大的硬盘存储大量用户上传的文件

2、网站缓存的分类

(1)、应用服务器缓存

本地缓存:访问速度更快一些,但是受应用服务器内存限制,其缓存数据量有限,而且会出现和应用程序争用内存的情况

远程缓存:可以使用集群的方式,部署大内存的服务器作为专门的缓存服务器,可以在理论上做到不受内存容量限制的缓存服务

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

(2)、使用应用服务器集群改善网站的并发处理能力

通过负载均衡调度服务器,将来自用户浏览器的访问请求分发到应用服务器集群中的任何一台服务器,从而解决网站的应用服务器的负载压力

(3)、数据库读写分离

通过主从数据库实现数据库读写分离,从而改善数据库负载压力。应用服务器在写数据的时候,访问主数据库,主数据库通过主从复制机制将数据更新同步到从数据库,这样当应用服务器读数据的时候,就可以通过从数据库获得数据。为了便于应用程序访问读写分离后的数据库,通常在应用服务器端使用专门的数据访问模块,使数据库读写分离对应用透明

(4)、使用反向代理和CDN加速网站响应

CDN:部署于网络提供商的机房,用户在请求网站服务时,可以从距离自己最近的网络提供商机房获取数据

反向代理:部署于网站的中心机房,用户请求到达中心机房后,首先访问的是反向代理服务器,若存在资源,则返回给用户

目的:尽早返回数据给用户,一方面加快用户访问速度,另一方面也减轻后端服务器的负载压力

(5)、使用分布式文件系统和分布式数据库系统

分布式数据库:单表数据规模庞大

业务分库:将不同业务的数据库部署在不同的物理服务器上

(6)、使用NoSQL和搜索引擎

results matching ""

    No results matching ""